最近在做项目时,遇到mysql中关于查询数据中条件带空格的。
select * from t_mcde_additional_policy t where t.
policyNo= '801000000080721 ';
这样查询与
SELECT * FROM t_mcde_additional_policy t WHERE t.
policyNo= '801000000080721';
效果相同,查询出来的是同一条数据。
经过调查,发现有三种方案:
第一种使用like:
SELECT * FROM t_mcde_additional_policy t WHERE t.`policyNo` LIKE '801000000080721 ';
第二种使用关键字 binary:
SELECT * FROM t_mcde_additional_policy t WHERE t.`policyNo` = BINARY'801000000080721';
第三种使用length函数:
SELECT * FROM t_mcde_additional_policy t WHERE t.`policyNo` = '801000000080721 ' AND LENGTH(t.`policyNo`) = LENGTH('801000000080721 ');
以上三种都可以。