Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में पाइप कॉन्सटेनेशन ऑपरेटर को कैसे इनेबल करें

MySQL पाइप कॉन्सटेनेशन ऑपरेटर के उपयोग का समर्थन करता है (|| ) अपने ऑपरेंड को संयोजित करने के लिए। हालांकि, आपको पहले इसे सक्षम करना होगा।

डिफ़ॉल्ट रूप से, MySQL || . का व्यवहार करता है तार्किक के रूप में OR ऑपरेटर (हालांकि यह उपचार वर्तमान में बहिष्कृत है)। हालांकि, एएनएसआई मानक के लिए आवश्यक है कि || एक संयोजन ऑपरेटर है। शायद आपके पास कोड है जो पहले से ही पाइप कॉन्सटेनेशन ऑपरेटर का उपयोग करता है, और आप CONCAT() का उपयोग करने के लिए कोड को बदलना और बदलना नहीं चाहेंगे समारोह।

सौभाग्य से, MySQL हमें यह निर्दिष्ट करने की क्षमता प्रदान करता है कि क्या इसे तार्किक OR के रूप में माना जाए संचालिका या संघटन संचालिका।

आप || . को सक्षम कर सकते हैं अपने sql_mode . में लागू विकल्प सेट करके एक संयोजन ऑपरेटर के रूप में .

आपके पास दो विकल्प हैं:

  • PIPES_AS_CONCAT जोड़ें आपके sql_mode . पर
  • sql_mode सेट करें करने के लिए ANSI

विकल्प 1

यहां, मैं PIPES_AS_CONCAT जोड़ता हूं मेरे sql_mode . पर :

SET sql_mode=(SELECT CONCAT(@@sql_mode,',PIPES_AS_CONCAT')); 

यह सच है कि मैं अभी-अभी जा सकता था sql_mode = 'PIPES_AS_CONCAT' , लेकिन मैं सभी मौजूदा विकल्पों को खो देता। उपरोक्त तकनीक का उपयोग सुनिश्चित करता है कि मैं कोई भी मौजूदा विकल्प नहीं खोता।

विकल्प 2

इसे करने का दूसरा तरीका sql_mode . सेट करना है करने के लिए ANSI :

SET sql_mode='ANSI';

ANSI मोड सिंटैक्स और व्यवहार को मानक SQL के अधिक निकटता के अनुरूप बदलता है।

अपना sql_mode जांचें

आप अपना sql_mode देख सकते हैं इस तरह:

SELECT @@sql_mode;

परिणाम:

REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI

ANSI . में बदलने के बाद मुझे यही परिणाम मिलता है तरीका। हम देख सकते हैं PIPES_AS_CONCAT विकल्पों की सूची में शामिल है।

संयोजन उदाहरण

sql_mode सेट करने के बाद उपरोक्त तकनीकों में से किसी एक का उपयोग करके, अब हम || . का उपयोग कर सकते हैं एक पाइप संयोजन ऑपरेटर के रूप में:

SELECT 'Homer' || 'Symptom';

परिणाम:

HomerSymptom

यदि हमने पाइप संयोजन ऑपरेटर को सक्षम नहीं किया होता, तो सबसे अधिक संभावना है कि हमें एक चेतावनी के साथ एक अप्रत्याशित परिणाम मिल जाता।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या आप MySQL में ऑटो इंक्रीमेंट वैल्यू को एक स्टेटमेंट में एक्सेस कर सकते हैं?

  2. त्रुटि:तालिका xxx के लिए तालिका स्थान मौजूद है। कृपया आयात करने से पहले टेबल स्पेस को त्यागें

  3. mysql n अंतिम पंक्तियों में से चुनें

  4. MySQL COS () फ़ंक्शन - MySQL में किसी संख्या की कोज्या लौटाएं

  5. पीडीओ के साथ सिंगल रो, सिंगल कॉलम लाई जा रही है