MySQL报错#1292及查询问题:如何获取同列中6月和5月的数据
解决MySQL警告#1292及正确查询多月份数据的方法
你遇到的#1292 截断了不正确的DOUBLE值警告,根源是SQL语句里的&用错了——这是MySQL的位运算符,它会试图把字符串类型的月份值转成数值,自然触发类型转换错误,而且这个逻辑根本查不到你要的5月和6月数据。
要同时获取JUNE和MAY的数据,有两种简洁且正确的写法:
- 用逻辑或
OR:
SELECT * FROM `table1` WHERE month = 'JUNE' OR month = 'MAY';
- 用
IN(更适合多值匹配场景):
SELECT * FROM `table1` WHERE month IN ('JUNE', 'MAY');
这两种写法都会正确匹配month列等于'JUNE'或者'MAY'的所有行,也不会触发类型转换的警告。
内容的提问来源于stack exchange,提问作者Bhanu
相关产品推荐
相关产品推荐

