当我写这个查询时
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 完全匹配时获取该值...如何解决这个问题。感谢您的帮助。
您可以将 转换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 不是数字,则无论如何都不可能匹配。)