sql >> Database >  >> RDS >> Mysql

Kan MySQL BIT-veldwaarde niet zien bij gebruik van SELECT

De reden waarom u het niet in terminal kunt zien, is omdat bitwaarden niet-afdrukbare tekens zijn.

Laten we de volgende waarden invoegen:

INSERT INTO `my_table` (`ID`, `enabled`)
VALUES (1,b'1'),(2,b'0');

Selecteer ze vervolgens om te archiveren:

mysql> SELECT * FROM my_table INTO OUTFILE '/tmp/my_table.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

Laten we eerst onze /tmp/my_table.txt . bekijken bestand als platte tekst:

en dan in hexadecimale weergave:

Om die waarden te kunnen zien, kun je eenvoudig CAST ze in SELECT :

SELECT id, CAST(enabled AS UNSIGNED) AS enabled FROM my_table

En dat levert de volgende output op:

+----+---------+
| id | enabled |
+----+---------+
|  1 |       1 |
|  2 |       0 |
+----+---------+
2 rows in set (0.00 sec)


  1. Msg 8672, Level 16, State 1, Line 1 De MERGE-instructie heeft meer dan eens geprobeerd dezelfde rij BIJWERKEN of VERWIJDEREN

  2. sql-server Bulk csv invoegen met gegevens met komma

  3. Verkrijg id van een insert in dezelfde instructie

  4. Selecteer gegevens via een functie met tabelwaarde in SQL Server