"अभिव्यक्ति <= 1" में क्या अंतर है और "अभिव्यक्ति <= 1"?


11

समीक्षा कोड और एक केस स्टेटमेंट expression <= 1.के विपरीत है<= 1

मुझे यकीन नहीं है कि इसका उद्देश्य क्या 1.है। कोई विचार?


3
SQL सर्वर 1.अवधि के कारण पूर्णांक के बजाय शाब्दिक (1,0) को शाब्दिक मानता है । शायद यह अभिव्यक्ति के डेटा प्रकार (एक सर्वोत्तम अभ्यास) से मेल खाने के लिए निर्दिष्ट किया गया था। व्यक्तिगत रूप से, मैं 1.0उस मामले में निर्दिष्ट करूंगा ।
डैन गुज़मैन

0दशमलव बिंदु के बाद किसी की कमी और इस तथ्य से कि decimalउच्च डेटाटाइप की पूर्ववर्ती स्थिति है intजिससे कि स्थैतिक रूप से वैसे भी डाली जाएगी यदि जरूरत हो तो मुझे लगता है कि यह जानबूझकर के बजाय एक टाइपिंग त्रुटि है।
मार्टिन स्मिथ

जवाबों:


18

1.एक NUMERIC(या DECIMAL) स्थिर है, जबकि 1एक INTEGERस्थिर है। कुछ मामलों में अनावश्यक (या अवांछनीय) निहित प्रकार के रूपांतरण से बचने के लिए डेटा प्रकार को स्थिर रूप से निर्दिष्ट करना उपयोगी होता है।

उदाहरण के लिए विचार करें

create table t(f1 int);
insert into t values (2);

फिर select 1/f1 from tरिटर्न 0( INTEGER), जबकि select 1./f1 from tरिटर्न 0.5( DECIMAL)।

कोई यह मान सकता है कि आपके उदाहरण में तुलना के बाईं ओर एक DECIMALस्तंभ है, और स्पष्ट रूप से एक DECIMALस्थिरांक निर्दिष्ट करने से एक अंतर्निहित प्रकार के कलाकारों से बचकर प्रदर्शन में सुधार हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.