今天寫sql的時候遇到一個問題,我在where語句里面寫的是a.poruid = 0,這個字段是varchar類型的,結果返回的是全集,改為a.poruid = "0"的時候查出來的猜我我想要的結果,很奇怪,有數(shù)據(jù)庫方面的大神能解答一下嗎?varchar類型與數(shù)字比較的機制嗎?我主要是想知道為什么不加引號的時候返回的是全集,,,
1 回答

灬紫羽
TA貢獻107條經(jīng)驗 獲得超71個贊
個人理解:我們數(shù)據(jù)庫查詢數(shù)據(jù)的時候要把變量用引號引起來,如果不因起來就相當于1=1一樣,恒成立,這樣所有的數(shù)據(jù)都符合條件;如果你把0引起來的話,就是單指 a.poruid = '0'這一條數(shù)據(jù)
添加回答
舉報
0/150
提交
取消