mysql varchar 空格_MySQL的char和varchar针对空格的处理

MySQL的char和varchar存储和查询中包含空格的实验

MySQL版本

36fbce757255e4d3e2a10cc4879a5cf2.png

一、测试char包含空格的存储和查询

557e35858f4f60bbfb06f3f3e321fc5b.png

测试发现,存储的数据,char数据类型的右侧空格存储的时候被删除了,但是左侧空格还保留。

bc194cb404c1d156056f63c90fd84567.png

测试发现,查询的时候,char数据类型只是会判断查询条件中左侧的空格,右侧的空格也会忽略,因此查询1和查询3的结果是一致的。

二、测试varchar包含空格的存储和查询

13eb12e8c8eea97dba400c491dac01e2.png

测试发现,存储的数据,varchar数据类型的空格均保留,没有进行删除。

7ee81d5e2e9ff32c66cf26fd2a7fd17f.png

测试发现,查询的时候,varchar数据类型只是会判断查询条件中左侧的空格,会忽略右侧的空格,因此查询1和查询3的结果是一致的。

三、小结

char在存储的时候会将右侧空格进行剔除,保留左侧空格。

varchar在存储的时候保留所有空格,不进行任何删除

varchar和char在查询的时候都只会根据where条件中的左侧空格进行判断,右侧末尾的空格会忽略

转自:http://fordba.com/mysql-char-and-varchar-storage-include-blankspace.html


版权声明:本文为weixin_33980357原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。