में [0-Z] के बजाय [0-Z] के साथ वर्चर द्वारा ऑर्डर करें डिफ़ॉल्ट रूप से, अक्षर वर्णों से पहले SQL ऑर्डर संख्याएं।SQL
तो अगर मैं स्तंभ "नाम" है: 0-जेड (पहले 0 करने के लिए 9, तो AZ), क्वेरी
SELECT * FROM ... ORDER BY name
में परिणाम होगा द्वारा
abc
ab1
a1b
1ba
1bac
b21
के बाद से एसक्यूएल प्रकार :
1ba
1bac
a1b
ab1
abc
abc1
b21
लेकिन मैं इसे ए -0 (पहले एजेड, फिर 0-9) द्वारा सॉर्ट करना चाहता हूं।
abc
abc1
ab1
a1b
b21
1ba
1bac
मैं इसे एक प्रश्न में कैसे कर सकता हूं? अधिक विशेष रूप से, मैं SQLite में यह कैसे कर सकता हूं?
मुझे Sort MySQL results alphabetically, but with numbers last में एक समाधान मिला, लेकिन केवल पहले चार के लिए।
क्या आपके मूल्य हमेशा 3 वर्ण लंबे होते हैं? – gbn
आप [फ़ंक्शन बनाने के लिए सी इंटरफ़ेस का उपयोग कर सकते हैं] (http://www.sqlite.org/c3ref/create_function.html) जो ['regexp'] का उपयोग करता है (http://sqlite.org/lang_expr.html) ऑपरेटर अलग-अलग कॉलम में अक्षरों और संख्याओं को यंक करने के लिए। –
@ जीबीएन नहीं, वे बहुत लंबाई में हो सकते हैं .. शायद यह दिखाया जाना चाहिए :) – Nic