MySQLWhere IN 同时还查找任何具有前面带有任意数量 0 的值的值。
我正在尝试做一个
select *
from table
where acol IN (1,2,3,4,5);
我还想退回任何有 001
的东西, 0002
, 03
, 00004
等等
感谢任何帮助!
最佳答案
根据上述问题中提到的与具有前导零的数值进行比较的描述,如果列的数据类型定义为整数,则具有前导零的值将存储到不带前导零的列中,因此值相等作为 SQL select 语句一部分的 into equals 表达式或 into IN 表达式 into where 子句将计算为 true。
否则,如果列的数据类型定义为 varchar ,则具有前导零的值将根据其原始格式存储,并将前导零存储到列中,并且要与具有前导零的值进行比较,您需要在 where 子句中使用 like 运算符作为 SQL select 语句的一部分。或者,可以使用 MYSQL CAST 函数将 varchar 列值转换为整数数据类型,并在与作为 SQL Select 语句一部分的 where 子句中的类型转换值进行比较时,值的相等性将评估为 true。
select *
from table
where CAST(acol as unsigned) IN (1, 2, 3, 4, 5);
关于MySQLWhere IN 同时还查找任何具有前面有任意数量的 0 的值的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49759862/