मेरे पास एक तालिका के साथ एक स्क्लाइट डीबी है जिसमें निम्न संरचना स्थान नाम अक्षांश देशांतर सभी को वर्चर के रूप में परिभाषित किया गया है। दशमलव में अक्षांश दिए गए एक विशिष्ट अक्षांश सीमा के साथ सभी स्थानों को प्राप्त करने के लिए मैं एक एसक्यूएल कथन कैसे बना सकता हूं। क्या ऐसा करने का कोई तरीका है जो फ्लाई पर वर्कर से दशमलव मान में परिवर्तित हो जाता है? या मुझे रिटर्न स्टेटमेंट्स के माध्यम से कदम उठाना है और मैन्युअल रूप से रूपांतरण करना हैsqlite टेक्स्ट को संख्याओं में कनवर्ट करें
उत्तर
http://www.sqlite.org/lang_expr.html पर "CAST अभिव्यक्ति" देखें।
SELECT CAST('3.02' as decimal)
-- they aren't real decimals in sqlite, though. beware floats.
ओह धन्यवाद, मैं इसे आज़मा दूंगा। क्या होगा यदि उदाहरण के लिए अक्षांश के लिए कॉलम को N320515 के रूप में परिभाषित किया गया है। क्या ऐसा करने का कोई तरीका है? – user519274
सबस्ट्रिंग निकालने के लिए 'substr' है, और 'मामला .. जब..एन'' एन/एस 'को 1/-1 में परिवर्तित करने के लिए है। आपको एक बालों वाली अभिव्यक्ति मिल जाएगी, लेकिन यह संभव है। यूपीडी: और सुनिश्चित करें कि सभी संभावित गोलार्धों पर परीक्षण करें :) –
धन्यवाद, मैं उस एसक्यूएल स्टेटमेंट को बनाने के तरीके में और अधिक खोद दूंगा। – user519274
SQLite वर्चर (टेक्स्ट) के अलावा अन्य प्रकारों का समर्थन करता है - http://www.sqlite.org/datatype3.html। वास्तविक कॉलम में मूल्यों को क्यों स्टोर न करें? – xyzzycoder
यह मानकों को डेटाबेस में वास्तविक संख्या के रूप में स्टोर करने के लिए कहीं अधिक कुशल होगा। – rmaddy
मुझे उस फॉर्मेट में डीबी दिया गया है जिसे मैं बदल नहीं सकता। इच्छा है कि मैं कर सकता हूं :) – user519274