sql >> Databasteknik >  >> RDS >> Mysql

Kan inte se MySQL BIT-fältvärdet när du använder SELECT

Anledningen till att du inte kan se det i terminal är att bitvärden är icke utskrivbara tecken.

Låter oss infoga följande värden:

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

Välj sedan dem att spara:

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

Låt oss först se vår /tmp/my_table.txt fil som vanlig text:

och sedan i hexvy:

För att kunna se dessa värden kan du helt enkelt CAST dem i SELECT :

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

Och det kommer att producera följande utdata:

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


  1. Använder OASIS-SVN och git för åtkomst till källkodskontroll

  2. 4 sätt att hitta dubbletter av rader i MySQL

  3. MySql med JAVA-fel. Det senaste paketet som skickades till servern var för 0 millisekunder sedan

  4. Webbseminarium:Nya funktioner i PostgreSQL 11 [Uppföljning]