2 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
后來(lái)自己根據(jù)一樓做了測(cè)試,首先執(zhí)行了一下兩個(gè)語(yǔ)句
SELECT * FROM media_info WHERE media_id = 0
SELECT * FROM media_info WHERE media_id = '%'+'bb'+'%'
發(fā)現(xiàn)結(jié)果相同,業(yè)績(jī)證實(shí)了,@范捷琦Jackie的說(shuō)法是正確的,在這樣情況下會(huì)將media強(qiáng)制轉(zhuǎn)化為為0整數(shù),而【'%'+'bb'+'%'】這個(gè)值也是為零的。然后我又做了一下測(cè)試【SELECT * FROM media_info WHERE media_id =1】,然后發(fā)現(xiàn)匹配出來(lái)的是media_id以1開(kāi)頭的數(shù)據(jù),所以猜測(cè)應(yīng)該是,【當(dāng)利用=進(jìn)行整數(shù)判斷時(shí),會(huì)根據(jù)你所匹配的值,來(lái)進(jìn)行首字母匹配對(duì)應(yīng)的數(shù)據(jù)】

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
首先,('%'+'bb'+'%')沒(méi)啥意義,其結(jié)果為0。它跟字符串做等于比較時(shí),字符串media_id會(huì)強(qiáng)制轉(zhuǎn)化為整數(shù),除非這個(gè)字符串是'1',轉(zhuǎn)化下來(lái)1才不等于0,否則media_id總會(huì)是轉(zhuǎn)化為0,所以不能這么用。
你可以具體試試:
SELECT
'' = ('%'+'g'+'%'),
'a' = ('%'+'g'+'%'),
'abc' = ('%'+'g'+'%'),
'1' = ('%'+'g'+'%')
;
做模糊查詢,只能用你列的第二種方式。
- 2 回答
- 0 關(guān)注
- 183 瀏覽
添加回答
舉報(bào)