Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL BIT_LENGTH () फ़ंक्शन बहु-बाइट सुरक्षित है या नहीं?


ठीक LENGTH() फ़ंक्शन की तरह, MySQL BIT_LENGTH() फ़ंक्शन एक बहु-बाइट सुरक्षित फ़ंक्शन नहीं है। जैसा कि हम जानते हैं कि बहु-बाइट सुरक्षित कार्यों, जैसे CHAR_LENGTH () या CHARACTER_LENGTH (), और BIT_LENGTH () फ़ंक्शन के बीच परिणाम का अंतर विशेष रूप से यूनिकोड के लिए प्रासंगिक है, जिसमें अधिकांश वर्ण दो बाइट्स में एन्कोड किए गए हैं या UTF के लिए प्रासंगिक हैं। -8 जहां बाइट्स की संख्या भिन्न होती है। इसे नीचे दिए गए उदाहरण में दिखाया गया है -

उदाहरण

mysql> Select BIT_LENGTH('tutorialspoint');
+------------------------------+
| BIT_LENGTH('tutorialspoint') |
+------------------------------+
| 112                          |
+------------------------------+
1 row in set (0.00 sec)

उपरोक्त परिणाम सेट से पता चलता है कि स्ट्रिंग 'ट्यूटोरियल पॉइंट' की बिट लंबाई 112 है क्योंकि यह अभी तक यूनिकोड वर्ण में परिवर्तित नहीं हुई है। निम्नलिखित क्वेरी इसे यूनिकोड वर्ण में बदल देती है -

mysql> SET @A = CONVERT('tutorialspoint' USING ucs2);
Query OK, 0 rows affected (0.02 sec)

स्ट्रिंग को यूनिकोड में कनवर्ट करने के बाद, यह 112 के बजाय 224 परिणाम देता है क्योंकि यूनिकोड में एक एकल वर्ण 2-बाइट लेता है जैसा कि नीचे दिखाया गया है -

mysql> Select BIT_LENGTH(@A);
+----------------+
| BIT_LENGTH(@A) |
+----------------+
| 224            |
+----------------+
1 row in set (0.00 sec)

  1. IF () एक MySQL चयन कथन में कार्य करता है?

    IF() फ़ंक्शन किसी शर्त के आधार पर मान देता है। वाक्य रचना इस प्रकार है- अपने TableName से टेबल बनाएं DemoTable ( Value int );क्वेरी ओके, 0 पंक्तियां प्रभावित (0.60 सेकेंड) इंसर्ट कमांड का उपयोग करके टेबल में रिकॉर्ड डालें - डेमोटेबल मानों में डालें(1100);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 से

  1. क्या पंक्तियों के लिए MAX फ़ंक्शन है और MySQL में कॉलम के लिए नहीं है?

    हां, आप पंक्तियों (स्तंभ नहीं) से अधिकतम जांच करने के लिए MySQL से GREATEST() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं डेमोटेबल (Value1 int, Value2 int, Value3 int);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.58 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में रिकॉर्ड डालें - डेमोटेबल मानों मे

  1. MySQL में काम नहीं करने के अलावा?

    आप MySQL को छोड़कर उपयोग नहीं कर सकते। आप समान परिणाम प्राप्त करने के लिए NOT IN ऑपरेटर के साथ काम कर सकते हैं। आइए पहले एक टेबल बनाएं - mysql> create table DemoTable1  (  Number1 int  ); Query OK, 0 rows affected (0.71 sec) इंसर्ट कमांड का