यहाँ क्या है MSDN
चरित्र स्थिरांक के बारे में कहना है जो एक अर्थ में non-integer constant
. है
1) गैर-पूर्णांक स्थिरांक ... स्थिरांक हैं जो पूर्णांक संख्या नहीं हैं।
उदाहरण:'string1'
एक स्ट्रिंग स्थिरांक का प्रतिनिधित्व करता है
0x01
एक varbinary स्थिरांक का प्रतिनिधित्व करता है
{ts '2015-02-26 06:00:00'}
एक डेटाटाइम स्थिरांक का प्रतिनिधित्व करता है
1.23
एक संख्यात्मक स्थिरांक का प्रतिनिधित्व करता है
2) इसलिए सिंगल कोट्स का उपयोग स्ट्रिंग स्थिरांक / वर्ण स्ट्रिंग स्थिरांक को परिभाषित करने के लिए किया जाता है लेकिन SQL सर्वर एकल उद्धरण चिह्नों का उपयोग कॉलम पहचानकर्ता सीमांकक के रूप में भी करने की अनुमति देता है:
SELECT ... expression AS 'Column1'
FROM ...
इस संदर्भ में स्पष्ट है कि 'Column1'
एक स्तंभ पहचानकर्ता है लेकिन जब ORDER BY में उपयोग किया जाता है:ORDER BY 'Column1'
यह भ्रम पैदा करता है क्योंकि SQL सर्वर नहीं जानता है कि क्या यह एक स्ट्रिंग अक्षर (कैरेक्टर स्ट्रिंग स्थिर) का प्रतिनिधित्व करता है या यह एक कॉलम पहचानकर्ता / कॉलम नाम का प्रतिनिधित्व करता है।
3) SQL सर्वर इस प्रकार ORDER BY में उपयोग पूर्णांक स्थिरांक का उपयोग करने की अनुमति देता है SELECT ColA, ColB, ColC FROM ... ORDER BY 2
. इस मामले में 2
कॉलम का इंडेक्स है ColB
. साथ ही, यदि आप ColB
. के आधार पर छाँटना चाहते हैं और ColC
आप ORDER BY 2, 3
. का उपयोग कर सकते हैं . स्तंभ की अनुक्रमणिका का उपयोग करना बुरा व्यवहार माना जाता है।
4) इस मामले में मैं
. का उपयोग करूंगाORDER BY EMP_LAST_NAME + ', ' + EMP_FIRST_NAME