当我写这个查询
SELECT cd.title, cd.city FROM coupon_detail cd WHERE cd.id = 260;
返回
title city --------------- ------ Butterfly world Mohali
当我写的时候
SELECT cd.title, cd.city FROM coupon_detail cd WHERE cd.id = '260abcxyz';
看到第二个是错的。我想仅在ID ID完全匹配时获取值…如何解决此问题。谢谢你的帮助。
您可以将转换id为字符串,以便准确进行比较。您可能LIKE会导致隐式转换
id
LIKE
SELECT cd.title, cd.city FROM coupon_detail cd WHERE cd.id LIKE '260abcxyz';
或其他方式,您可以显式执行投射
SELECT cd.title, cd.city FROM coupon_detail cd WHERE CAST(cd.id AS CHAR) = '260abcxyz';
但是,如果您所有的ID都是整数,则在尝试查询数据库之前检查这些值可能更合适。(如果您要查询的ID不是数字,则始终无法匹配。)