SQL सर्वर में, T-SQL QUOTENAME()
फ़ंक्शन इनपुट स्ट्रिंग को एक मान्य SQL सर्वर सीमांकित पहचानकर्ता बनाने के लिए जोड़े गए सीमांकक के साथ एक यूनिकोड स्ट्रिंग देता है।
यह डेटाबेस और उनकी वस्तुओं को उद्धृत करने के लिए डिज़ाइन किया गया था।
फ़ंक्शन दो तर्क स्वीकार करता है; इनपुट स्ट्रिंग (आवश्यक), और एक सीमांकक वर्ण (वैकल्पिक)।
सिंटैक्स
वाक्य रचना इस प्रकार है:
QUOTENAME ( 'character_string' [ , 'quote_character' ] )
जहां character_string इनपुट स्ट्रिंग है, और quote_character एक वर्ण को सीमांकक के रूप में उपयोग करने के लिए निर्दिष्ट करने के लिए एक वैकल्पिक तर्क है। यदि छोड़ा गया है, तो कोष्ठक का उपयोग सीमांकक के रूप में किया जाता है।
ध्यान दें कि character_string sysname . है और 128 वर्णों तक सीमित है। 128 वर्णों से अधिक के इनपुट NULL
लौटाते हैं ।
मान्य सीमांकक (वैकल्पिक quote_character . के लिए तर्क) हैं:
`
(बैकटिक)'
(एकल उद्धरण चिह्न)"
(दोहरा उद्धरण चिह्न)[]
(बाएं या दाएं कोष्ठक)()
(बाएं या दाएं कोष्ठक)<>
(चिह्न से छोटा या बड़ा){}
(बाएं या दाएं ब्रेस)
उदाहरण 1 - मूल उपयोग
यह कैसे काम करता है इसका एक उदाहरण यहां दिया गया है:
SELECT QUOTENAME('cat[]dog') AS Result;
परिणाम:
+-------------+ | Result | |-------------| | [cat[]]dog] | +-------------+
उदाहरण 2 - कस्टम सीमांकक
यहां एक अलग सीमांकक निर्दिष्ट करने का एक उदाहरण दिया गया है:
SELECT QUOTENAME('cat[]dog', '}') AS Result;
परिणाम:
+------------+ | Result | |------------| | {cat[]dog} | +------------+
और अगर हम बीच के कोष्ठकों को कर्ली ब्रेसिज़ में बदलते हैं तो क्या होता है:
SELECT QUOTENAME('cat{}dog', '}') AS Result;
परिणाम:
+-------------+ | Result | |-------------| | {cat{}}dog} | +-------------+
उदाहरण 3 - अमान्य इनपुट स्ट्रिंग
जैसा कि बताया गया है, इनपुट स्ट्रिंग sysname . है , और इसलिए यह 128 वर्णों तक सीमित है। sysname एक सिस्टम द्वारा आपूर्ति किया गया उपयोगकर्ता-परिभाषित डेटा प्रकार है जो कार्यात्मक रूप से nvarchar(128) के बराबर है , सिवाय इसके कि यह अशक्त नहीं है। sysname डेटाबेस ऑब्जेक्ट नामों को संदर्भित करने के लिए प्रयोग किया जाता है।
अगर इनपुट स्ट्रिंग बहुत लंबी है तो क्या होता है:
SELECT QUOTENAME('This text is too long to be an input string for this function, because it contains more than 128 characters - too long for sysname.') AS Result;
परिणाम:
+----------+ | Result | |----------| | NULL | +----------+
उदाहरण 4 - अमान्य सीमांकक
यदि आप एक अमान्य सीमांकक निर्दिष्ट करते हैं तो यहां बताया गया है:
SELECT QUOTENAME('cat[]dog', '!') AS Result;
परिणाम:
+----------+ | Result | |----------| | NULL | +----------+