我在我的數據庫中有一個名爲contact
的表。它有以下幾列:名稱,手機和雙龍。問題是我試圖獲得所有twon='Dubai'
,但是當我執行我的查詢時,它只檢索81000行,但總數爲130000.剩餘的其他行沒有出現在我的查詢中。我的SQL查詢不檢索數據庫中的所有數據
我的查詢:
SELECT * FROM `contact` WHERE `twon` = 'Dubai'
誰能告訴我在哪裏,我錯了,或者幫助我從表訪問所有數據?
我在我的數據庫中有一個名爲contact
的表。它有以下幾列:名稱,手機和雙龍。問題是我試圖獲得所有twon='Dubai'
,但是當我執行我的查詢時,它只檢索81000行,但總數爲130000.剩餘的其他行沒有出現在我的查詢中。我的SQL查詢不檢索數據庫中的所有數據
我的查詢:
SELECT * FROM `contact` WHERE `twon` = 'Dubai'
誰能告訴我在哪裏,我錯了,或者幫助我從表訪問所有數據?
=
將獲取的記錄。
嘗試用LIKE
,TRIM
和LOWER
:如果twon
列包含單詞 '迪拜'
SELECT * FROM `contact` WHERE LOWER(TRIM(`twon`)) LIKE '%dubai%'
這個查詢將獲取的記錄。
不同的事情可能是錯誤的。
如果您發佈應該返回的行的示例,它將對我們有所幫助。
如果區分大小寫是一個問題(例如, '迪拜' 或 '迪拜' 不退還),你可以使用LOWER功能
SELECT * FROM `contact` WHERE LOWER(`twon`) = 'dubai'
在某些情況下,列內容中的k將會失敗,例如「迪拜」和「迪拜」。您可以使用TRIM函數去除尾隨和前導空白。
SELECT * FROM `contact` WHERE TRIM(`twon`) = 'Dubai'
結合使用這兩種都可以工作,太。但僅在列值正是「迪拜」
SELECT * FROM `contact` WHERE LOWER(TRIM(`twon`)) = 'dubai'
'trim(twon)='Dubai''怎麼樣? – 2015-03-02 12:30:10