mysql where 精确匹配

Mad*_*ota 5 mysql sql

当我写这个查询时

SELECT cd.title, cd.city FROM coupon_detail cd WHERE cd.id = 260;
Run Code Online (Sandbox Code Playgroud)

返回

title            city  
---------------  ------
Butterfly world  Mohali
Run Code Online (Sandbox Code Playgroud)

当我写的时候

SELECT cd.title, cd.city FROM coupon_detail cd WHERE cd.id = '260abcxyz';
Run Code Online (Sandbox Code Playgroud)

返回

title            city  
---------------  ------
Butterfly world  Mohali
Run Code Online (Sandbox Code Playgroud)

看到第二个是错误的。我只想在 ID 完全匹配时获取该值...如何解决这个问题。感谢您的帮助。

Mic*_*ior 5

您可以将 转换id为字符串,以便准确地进行比较。您可以用来LIKE引起隐式转换

SELECT cd.title, cd.city FROM coupon_detail cd WHERE cd.id LIKE '260abcxyz';
Run Code Online (Sandbox Code Playgroud)

或者,您可以显式执行强制转换

SELECT cd.title, cd.city FROM coupon_detail cd WHERE CAST(cd.id AS CHAR) = '260abcxyz';
Run Code Online (Sandbox Code Playgroud)

但是,如果所有 ID 都是整数,则在尝试查询数据库之前检查这些值可能更合适。(如果您查询的 ID 不是数字,则无论如何都不可能匹配。)