उपयोगकर्ताओं द्वारा बनाई गई कुछ त्रुटियों को ठीक करने के लिए, मुझे किसी एमएस एसक्यूएल सर्वर (2005 या 2008 कोई फर्क नहीं पड़ता) द्वारा होस्ट किए गए डेटाबेस में दशमलव बिंदु के बाद अंकों को गिनना होगा। मुझे ओरेकल डेटाबेस पर एक ही समस्या है, लेकिन चीजें कम जटिल हैं। निष्कर्ष ओरेकल चयन पर है:एमएस एसक्यूएल में फ्लोट कॉलम में दशमलव बिंदु के बाद अंकों की संख्या कैसे प्राप्त करें?
select length(substr(to_char(MY_FIELD), instr(to_char(MY_FILED),'.',1,1)+1, length(to_char(MY_FILED)))) as digits_length
from MY_TABLE
जहां दायर My_filed नाव (38) है। और
select LEN(SUBSTRING(CAST(MY_FIELD AS VARCHAR), CHARINDEX('.',CAST(MY_FILED AS VARCHAR),1)+1, LEN(CAST(MY_FIELD AS VARCHAR)))) as digits_length
from MY_TABLE
समस्या यह है कि एमएस SQL सर्वर पर, जब मैं नाव संख्या varchar के रूप में MY_FIELD डाली केवल 2 दशमलव ने काट दिया गया है अंकों की गिनती:
सुश्री SQL सर्वर पर मैं उपयोग करने का प्रयास गलत है। क्या कोई मुझे कोई संकेत दे सकता है?
सर्वश्रेष्ठ संबंध।
बस ध्यान दें कि पूरी संख्या के लिए यह अपेक्षित 0 की बजाय 1 लौटाता है। – user824276