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

MySQL में GROUP_CONCAT पर BIT फ़ील्ड के गार्बेज मान ठीक करें

BIT डेटा प्रकार पर GROUP_CONCAT सीधे लागू करने पर बाइनरी/गार्बेज आउटपुट मिलता है। समाधान: कॉलम में +0 जोड़कर संख्यात्मक रूपांतरण करें।

टेबल बनाएं

mysql> CREATE TABLE DemoTable1856 (
    Id INT,
    Value BIT(1)
);

डेटा डालें

mysql> INSERT INTO DemoTable1856 VALUES(101, 1);
mysql> INSERT INTO DemoTable1856 VALUES(102, 0);
mysql> INSERT INTO DemoTable1856 VALUES(101, 0);
mysql> INSERT INTO DemoTable1856 VALUES(102, 1);
mysql> INSERT INTO DemoTable1856 VALUES(101, 0);

सीधा GROUP_CONCAT (गार्बेज)

mysql> SELECT GROUP_CONCAT(Value) FROM DemoTable1856 GROUP BY Id;

आउटपुट: अनपढ़ बाइनरी वर्ण (उदाहरण: )

सही तरीका: +0 जोड़ें

mysql> SELECT GROUP_CONCAT(Value + 0) FROM DemoTable1856 GROUP BY Id;

आउटपुट:

+-----------------------+
| GROUP_CONCAT(Value+0) |
+-----------------------+
| 1,0,0                 |
| 0,1                   |
+-----------------------+

व्याख्या

  • BIT(1) बाइनरी स्टोर करता है (0x00 या 0x01)।
  • Value + 0 संख्यात्मक संदर्भ में बाइनरी को पूर्णांक 0/1 में बदल देता है।
  • GROUP_CONCAT अब पठनीय स्ट्रिंग बनाता है।

अन्य विकल्प

  • CAST(Value AS UNSIGNED) - स्पष्ट कास्ट
  • Value + 0 - संक्षिप्त, MySQL-विशिष्ट
  • CONVERT(Value, UNSIGNED) - मानक SQL

सुझाव

यदि संभव हो तो BIT के बजाय TINYINT(1) या BOOLEAN उपयोग करें; यह अधिक पठनीय और इंडेक्स-अनुकूल है।

  1. - Python ऑब्जेक्ट को MySQL में इन्सर्ट कैसे करें

    मान लें कि सर्वर पर test नामक MySQL डेटाबेस मौजूद है और उसमें employee टेबल बनी है जिसमें पांच फील्ड हैं: fname, lname, age, gender, और salary। हम एक टपल (tuple) ऑब्जेक्ट में मौजूद रिकॉर्ड डेटा को MySQL डेटाबेस में इन्सर्ट करना चाहते हैं: t1 = (Steven, Assange, 21, M, 2001) आवश्यक मॉड्यूल इंस्टॉल

  1. - MySQL में GROUP_CONCAT को CONCAT में कैसे उपयोग करें

    सबसे पहले, आइए एक टेबल बनाते हैं। ); Query OK, 0 rows affected (0.61 sec) रिकॉर्ड्स डालना आइए अब कुछ रिकॉर्ड्स डालते हैं। insert into GroupConcatenateDemo values(4,Carol,100); Query OK, 1 row affected (0.20 sec) टेबल में कितने रिकॉर्ड्स मौजूद हैं, यह जांचने के लिए। select *from GroupConcatena

  1. MySQL Workbench से MySQL डेटाबेस बैकअप कैसे लें? MySQL Workbench से MySQL डेटाबेस बैकअप कैसे लें?

    MySQL Workbench के Data Export से डेटाबेस बैकअप बनाएं MySQL Workbench एक ग्राफिकल Data Export विज़ार्ड प्रदान करता है जो डेटाबेस का लॉजिकल बैकअप (SQL डंप फ़ाइल) बनाता है। चरण-दर-चरण प्रक्रिया MySQL Workbench स्थापित करें (यदि नहीं है): डाउनलोड लिंक Workbench खोलें और अपने MySQL सर्वर से कनेक्ट क