前幾天就在工作中發現這樣一個問題:當某個字段的類型為varchar時,字段保存的值類似'100,200,300' 和 '100' 或 '100,400'。寫SQL語句的時候就會犯這樣的錯誤,例如:
select id,provinceid from admin where provinceid in ('100'); select id,provinceid from admin where provinceid in (100);
會發現上面2條SQL的查詢結果並不相同,正確的SQL是第2條。因為字段保存的值類似'100,200,300',並不是'100','200','300'這樣的值,所以第2條的SQL才正確。