प्रश्नों के साथ काम करते समय, कभी-कभी हमें अपने डेटाबेस से कच्चा डेटा लेने की आवश्यकता होती है और इसे कहीं और उपयोग करने के लिए एक अलग तरीके से पुन:स्वरूपित करना पड़ता है। इस लेख में, हम अपने प्रश्नों में स्ट्रिंग प्रकारों के साथ काम करने में मदद करने के लिए MySQL में कुछ कार्यों को देखते हैं।
स्कीमा बनाना
यह खंड इस पोस्ट में शामिल SQL अवधारणाओं को स्पष्ट करने के लिए एक त्वरित स्कीमा तैयार करने के लिए समर्पित है। हम कार्यों के लिए MySQL का उपयोग करते हैं - मैं सिंटैक्स का उपयोग करने और अपनी खोज क्वेरी चलाने के लिए SQL Fiddle का उपयोग करने की सलाह देता हूं। वहां, आप अन्य रिलेशनल डेटाबेस में भी अपने प्रश्नों का परीक्षण कर सकते हैं।
तालिका बनाएं और मान डालें
टेबल जन्मदिन बनाएं (नाम वर्कर (200) न्यूल नहीं, जन्मदिन वर्चर (10) न्यूल नहीं); INSERT INTO जन्मदिन (नाम, जन्मदिन) VALUES("Jane", "11/20/1993"); INSERT INTO जन्मदिन (नाम, जन्मदिन) VALUES ("डंकन", "01/15/1987"); जन्मदिन में सम्मिलित करें ( नाम, जन्मदिन) VALUES("Lucas", "07/21/1996"); INSERT INTO जन्मदिन (नाम, जन्मदिन) VALUES("Alexa", "12/31/1988");
शीर्ष चार पंक्तियाँ तालिका "जन्मदिन" बनाती हैं कॉलम "नाम" और "जन्मदिन" के साथ। शेष डेटाबेस में मान सम्मिलित करता है। हम इसका उपयोग तब करते हैं जब हम अपने क्वेरी स्टेटमेंट बनाते हैं।
अगर हम अपनी टेबल पर एक बेसिक क्वेरी चलाते हैं, तो क्वेरी स्टेटमेंट और परिणाम इस तरह दिखाई देंगे:
नाम चुनें, जन्मदिन से जन्मदिन;
परिणाम:
नाम | जन्मदिन |
क्रिस | 11/20/1993 |
डंकन | 01/15/1987 |
लुकास | 07/21/1996 |
एलेक्सा | 12/31/1988 |
क्वेरी स्टेटमेंट बनाना
CONCAT()
CONCAT()
फ़ंक्शन तर्कों को एक स्ट्रिंग में शामिल करने के बाद परिणाम देता है। कम से कम एक तर्क है, लेकिन कई कार्य हो सकते हैं। फ़ंक्शन में तर्क निम्न में से कोई एक हो सकते हैं:
- बाइनरी स्ट्रिंग - यदि तर्कों में से कोई एक बाइनरी स्ट्रिंग है, तो वापसी मान एक बाइनरी स्ट्रिंग है।
- गैर बाइनरी स्ट्रिंग - एक विशिष्ट स्ट्रिंग मान। यदि सभी तर्क गैर-बाइनरी स्ट्रिंग मान हैं,
CONCAT()
एक गैर-बाइनरी स्ट्रिंग मान देता है।
- संख्यात्मक - यदि एक इनपुट संख्यात्मक प्रकार का है, तो इसे अन्य तर्कों के साथ जुड़ने से पहले एक गैर-बाइनरी स्ट्रिंग के लिए मजबूर किया जाता है।
- शून्य - यदि NULL मान हैं, तो उन मानों को केवल अनदेखा कर दिया जाता है।
औपचारिक वाक्य रचना इस प्रकार है:
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
CONCAT( <str value 1>, <str value 2>, [ … <str value N> ]);
हम CONCAT कीवर्ड का उपयोग कोष्ठक की एक जोड़ी के साथ यह इंगित करने के लिए करते हैं कि यह एक फ़ंक्शन है। कोष्ठक के अंदर एन इनपुट स्ट्रिंग है। यहाँ यह MySQL का उपयोग करते हुए दिखता है:
<पूर्व>जन्मदिनों से परिणाम के रूप में CONCAT(नाम, " ", जन्मदिन) चुनें;
हम नाम, एक स्पेस चार, और जन्मदिन के संयोजन से वापसी मूल्य "चयन" करते हैं और इसे "परिणाम" नाम देते हैं।
इस क्वेरी का परिणाम है:
परिणाम |
क्रिस 11/20/1993 |
डंकन 01/15/1987 |
लुकास 07/21/1996 |
एलेक्सा 12/31/1988 |
इस परिणाम की तुलना उस मूल क्वेरी स्टेटमेंट से करें, जिसका हमने स्कीमा बिल्डिंग सेक्शन में परीक्षण किया था। यह कैसे भिन्न है? दिए गए तरीके के विपरीत इस तरह से डेटा सेट करने का क्या फायदा होगा?
जरूरी नहीं कि कोई सही या गलत उत्तर हो। यह इस बारे में है कि आप अपने आवेदन में इस डेटा पर कैसे भरोसा करते हैं।
CONCAT_WS()
CONCAT_WS()
फ़ंक्शन CONCAT()
के समान है फ़ंक्शन, हालांकि, एक आवश्यक पहला तर्क है जो मूल CONCAT()
. में नहीं है समारोह। यह तर्क विभाजक है जो फ़ंक्शन के बाकी सभी तर्कों के बीच में जाता है। CONCAT()
. के बाकी नियम लागू।
औपचारिक वाक्य रचना इस प्रकार है:
CONCAT_WS(<separator>, <str value 1>, <str value 2>, [ … <str value N> ]);
हम CONCAT_WS()
. का उपयोग करते हैं कोष्ठक की एक जोड़ी के साथ कीवर्ड यह इंगित करने के लिए कि यह एक फ़ंक्शन है। कोष्ठक के अंदर पहला तर्क विभाजक है जो प्रत्येक इनपुट स्ट्रिंग के बीच जाता है। बाकी तर्क वे तार हैं जिन्हें हम एक साथ जोड़ते हैं। यहाँ MySQL का उपयोग करके एक नज़र है:
परिणाम दूसरे तर्कों में से प्रत्येक के बीच पहले तर्क के साथ स्ट्रिंग संयोजन है।
परिणाम |
क्रिस, 11/20/1993 |
डंकन 01/15/1987 |
लुकास 07/21/1996 |
एलेक्सा 12/31/1988 |
जैसे CONCAT()
फ़ंक्शन, CONCAT_WS()
फ़ंक्शन केवल एक कॉलम देता है, जिसका नाम परिणाम है, जहां मान इनपुट स्ट्रिंग है जो विभाजक वर्ण के साथ जुड़ा हुआ है।
निष्कर्ष
इस लेख में, हम SQL CONCAT()
. को कवर करते हैं और CONCAT_WS()
कार्य करता है क्योंकि वे MySQL में इसके उपयोग से संबंधित हैं। ध्यान रखें कि अन्य रिलेशनल डेटाबेस का उपयोग करते समय सिंटैक्स में मामूली अंतर हो सकता है क्योंकि उनके पास SQL का अपना स्वाद हो सकता है। फ़ंक्शन की अवधारणा समान है, लेकिन इसे अलग-अलग शब्दों में लिखा जा सकता है।