mysql返回保留空格_MySQL的char和varchar针对空格的处理

本文通过实验探讨MySQL中char和varchar数据类型在存储和查询时对空格的处理。char在存储时会删除右侧空格,保留左侧;varchar则保留所有空格。而在查询时,两者都会忽略where条件中的右侧空格。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值