最近在做项目时,遇到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 ');
以上三种都可以。