1
我無法使用單引號選擇包含IN
子句的值。 pid
列是varchar(50)
。IN運算符未找到匹配項
select * from t_tra_main where pid in (200000002,300000394,200000004,
200000001,300000378,300000393,300000379,200000003)
select * from t_tra_main where pid in ('200000002','300000394','200000004',
'200000001','300000378','300000393','300000379','200000003')
第一個查詢返回數據,但第二個查詢不返回數據。
down voter's please請添加評論。它將幫助 – 2013-05-11 18:15:59
pid值是否填充了前導零?如果是這樣,那就可以解釋它。當您使用IN列表使用數字值時,它會隱式地將值(pid)轉換爲數字,從而消除前導零。 – mroach 2013-05-11 18:19:44
是不是我downvoted。是否=現有ID中的一個工作?適用於我的sql-server 2012,所以只能假設一些奇怪的事情發生,例如奇怪的PID列上的索引,破錶(試試DBCC嗎?)或者這些值都不在表中。 – 2013-05-11 18:20:21