SQL में, तालिका के पंक्तियों का चयन कैसे करें जहां कॉलम (डेटाटाइप: number
) Oracle 10g पर Infinity
के बराबर है?चुनें कि संख्या अनंतता
select * from MYTABLE where MYCOLUMN = Infinity;
SQL में, तालिका के पंक्तियों का चयन कैसे करें जहां कॉलम (डेटाटाइप: number
) Oracle 10g पर Infinity
के बराबर है?चुनें कि संख्या अनंतता
select * from MYTABLE where MYCOLUMN = Infinity;
select * from MYTABLE where MYCOLUMN = binary_double_infinity;
या एक अंतर्निहित कलाकारों के साथ, बस:
select * from MYTABLE where cast(MYCOLUMN as binary_double) = binary_double_infinity;
या the is infinite
floating point condition का उपयोग कर:
select * from MYTABLE where cast(MYCOLUMN as binary_double) is infinite;
मैं एक एसक्यूएल फिडल देते हैं, लेकिन जैसे लॉरेन ने नोट किया, "अपने ऑरैक क्लाइंट के साथ बहुत सारी बग की उम्मीद है"; यह एसक्यूएल डेवलपर में काम करता है, लेकिन एसक्यूएल फिडल को न्यूमेरिक ओवरफ्लो मिलता है।
अच्छा, मुझे 'अनंत' के बारे में पता नहीं था। –
@LalitKumarB - न तो कुछ मिनट पहले तक और यह देखने के लिए प्रयोग किया गया कि क्यों 'inf' काम नहीं किया * 8-) –
चलो पहले देखने Infinity
पाने के लिए:
SQL> SELECT 1/0F COL FROM DUAL
2/
COL
----------
Inf
अब, चलो तुलना पर ध्यान दें:
SQL> WITH DATA AS(
2 SELECT 1/0F COL FROM DUAL)
3 SELECT * FROM data WHERE col = binary_double_infinity
4/
COL
----------
Inf
अद्यतन: धन्यवाद एलेक्स को, is infinite
खंड है एक विकल्प भी।
मैं 12.1.0.1
पर हूं।
is infinite
खंड के साथ समान क्वेरी:
SQL> WITH DATA AS(
2 SELECT 1/0F COL FROM DUAL)
3 SELECT * FROM data WHERE col is infinite
4/
COL
----------
Inf
सकारात्मक और * नकारात्मक * अनंत दोनों के लिए 'अनंत है' परीक्षण के रूप में, एक अतिरिक्त भविष्यवाणी ' और n> 0' को 'col = binary_double_infinity' के समान परिणाम प्राप्त करने के लिए जोड़ा जाना चाहिए। –
स्तंभ के डेटा प्रकार क्या है? – Sasse
@Sasse यह एक 'संख्या' है। – BnJ
आप किस डेटाबेस का उपयोग कर रहे हैं? – Sasse