SQL सर्वर में, आप वर्तमान सत्र के लिए उपयोग की जाने वाली भाषा सेट कर सकते हैं। वर्तमान भाषा सेटिंग सभी सिस्टम संदेशों पर उपयोग की जाने वाली भाषा के साथ-साथ उपयोग करने के लिए दिनांक/समय स्वरूपों को निर्धारित करती है।
यह आलेख दर्शाता है कि SQL सर्वर में वर्तमान भाषा परिवेश को सेट करने के लिए T-SQL का उपयोग कैसे करें।
सिंटैक्स
वर्तमान भाषा को सेट करने का सिंटैक्स इस प्रकार है:
SET LANGUAGE { [ N ] 'language' | @language_var }
जहां [N]'language' | @language_var
sys.syslanguages
. में संग्रहीत भाषा का नाम है सिस्टम संगतता दृश्य। यह तर्क या तो यूनिकोड हो सकता है या DBCS को यूनिकोड में परिवर्तित किया जा सकता है।
यूनिकोड में कोई भाषा निर्दिष्ट करने के लिए, N . का उपयोग करें 'भाषा:हिन्दी'। यदि एक चर के रूप में निर्दिष्ट किया गया है, तो चर sysname . का होना चाहिए डेटा प्रकार (sysname डेटा प्रकार का उपयोग टेबल कॉलम, वेरिएबल और ऑब्जेक्ट नामों को संग्रहीत करने वाले संग्रहीत कार्यविधि पैरामीटर के लिए किया जाता है।
उदाहरण 1 - भाषा सेट करना
वर्तमान सत्र के लिए भाषा को ब्रिटिश भाषा में सेट करने का एक उदाहरण यहां दिया गया है:
SET LANGUAGE British;
परिणाम:
Changed language setting to British.
वर्तमान सत्र के लिए भाषा को जर्मन में सेट करने का एक उदाहरण यहां दिया गया है:
SET LANGUAGE German;
परिणाम:
Die Spracheneinstellung wurde in Deutsch geändert.
तो हम देख सकते हैं कि आउटपुट पहले से ही नई निर्दिष्ट भाषा में है।
उदाहरण 2 - क्वेरी चलाना
भाषा बदलने से तिथियों के स्वरूप पर प्रभाव पड़ता है। मेरा मतलब दिखाने के लिए यहां एक उदाहरण दिया गया है।
सबसे पहले, हम भाषा को British
. में बदलते हैं , फिर स्ट्रिंग को तारीख . में बदलने के लिए क्वेरी चलाएँ डेटा प्रकार:
SET LANGUAGE British; SELECT CONVERT(date, '09/01/2030') AS 'Convert';
परिणाम:
+------------+ | Convert | |------------| | 2030-01-09 | +------------+ Changed language setting to British.
इस मामले में, तारीख का अनुवाद 9 जनवरी के रूप में किया जाता है।
फिर हम भाषा को us_English
. में बदलते हैं और वही क्वेरी चलाएँ:
SET LANGUAGE us_english; SELECT CONVERT(date, '09/01/2030') AS 'Convert';
परिणाम:
+------------+ | Convert | |------------| | 2030-09-01 | +------------+ Changed language setting to us_english.
इसलिए इस मामले में, नई भाषा सेटिंग के कारण तारीख को 1 सितंबर के रूप में अनुवादित किया गया था।
भाषा को क्वेरी स्तर पर सेट करना
कुछ टी-एसक्यूएल फ़ंक्शन आपको क्वेरी स्तर पर उपयोग की जाने वाली भाषा/संस्कृति निर्दिष्ट करने की अनुमति देते हैं। उदाहरण के लिए, PARSE()
एक वैकल्पिक तर्क स्वीकार करता है जिसका उपयोग यह निर्धारित करने के लिए किया जाता है कि प्रदान की गई स्ट्रिंग को कैसे स्वरूपित किया जाता है। यह आपको वर्तमान सत्र के लिए भाषा सेटिंग्स को बदलने की आवश्यकता के बिना केवल उस क्वेरी (और यहां तक कि क्वेरी के विभिन्न हिस्सों) के भीतर उपयोग की जाने वाली भाषा/संस्कृति को सेट करने की अनुमति देता है।
मेरा क्या मतलब है, यह दिखाने के लिए यहां एक उदाहरण दिया गया है:
SELECT PARSE('01/06/2018' AS date USING 'en-US') AS 'en-US', PARSE('01/06/2018' AS date USING 'en-GB') AS 'en-GB';
परिणाम:
+------------+------------+ | en-US | en-GB | |------------+------------| | 2018-01-06 | 2018-06-01 | +------------+------------+
यदि आप यह तर्क नहीं देते हैं, तो वर्तमान सत्र की भाषा का उपयोग किया जाता है।
वर्तमान भाषा ढूंढें
वर्तमान में उपयोग की जा रही भाषा को वापस करने के लिए आप निम्न कथन चला सकते हैं:
SELECT @@LANGUAGE;
अधिक विकल्पों के लिए, SQL सर्वर (T-SQL) में वर्तमान सत्र की भाषा प्राप्त करने के 3 तरीके देखें।
उपलब्ध भाषाएं ढूंढें
उपलब्ध भाषाओं की सूची वापस करने के लिए आप निम्न कोड चला सकते हैं:
EXEC sp_helplanguage;
यह सभी भाषाओं की सूची देता है।
इसे किसी विशेष भाषा तक सीमित करने के लिए, भाषा का नाम जोड़ें। इस तरह:
EXEC sp_helplanguage Spanish;