Mysql
 sql >> Database >  >> RDS >> Mysql

Impossibile visualizzare il valore del campo MySQL BIT quando si utilizza SELECT

Il motivo per cui non puoi vederlo nel terminale è perché i valori dei bit sono caratteri non stampabili.

Inseriamo i seguenti valori:

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

Quindi selezionali per archiviare:

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

Per prima cosa vediamo il nostro /tmp/my_table.txt file come testo normale:

e poi in vista esadecimale:

Per poter vedere quei valori puoi semplicemente CAST in SELECT :

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

E questo produrrà il seguente output:

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