binary和varbinary的區別

shenmingmingDBA發表於2020-08-10

binary和varbinary的區別

類似char和varchar 不同的是他們包含二進位制字串而不包含非二進位制字串

mysql> create table bin(c binary(3));

Query OK, 0 rows affected (0.55 sec)


mysql> insert into bin set c='a';

Query OK, 1 row affected (0.01 sec)


mysql> select * from bin;

+------+

| c    |

+------+

| a    |

+------+

1 row in set (0.01 sec)


mysql> select * ,hex(c),c='a',c='a\0',c='a\0\0' from bin;

+------+--------+-------+---------+-----------+

| c    | hex(c) | c='a' | c='a\0' | c='a\0\0' |

+------+--------+-------+---------+-----------+

| a    | 610000 |     0 |       0 |         1 |

+------+--------+-------+---------+-----------+

1 row in set (0.08 sec)

可以發現當儲存binary值時,在職的最後通過填充‘0x00'已達到指定的欄位定義長度,從上例可以看出對於一個binary(3)列當插入a時 變為’a\0\0'.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30166976/viewspace-2710439/,如需轉載,請註明出處,否則將追究法律責任。

相關文章