mysql数据库查询条件末尾空格

最近在做项目时,遇到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      ');

以上三种都可以。

你可能感兴趣的:(mysql数据库)