簡體   English   中英

MySQL查詢沒有給出正確的結果

[英]mysql query not giving correct results

我有一個名為records的表,該表有幾列,其中一列是fromphone,它代表電話號碼。 我可以運行此查詢以查看不同的電話號碼:

SELECT DISTINCT fromphone
FROM records

它顯示了不同的電話號碼。

但是,如果我運行此查詢:

SELECT *
FROM records
WHERE fromphone = '123-456-7890'

其中fromphone是表中的電話號碼,不會返回任何結果。

最可能的情況是確切的字符串'123-456-7890'不在該列中。 嘗試使用LIKE而不是= ,以防萬一有些多余的空格或某些東西導致等號與電話號碼不匹配。

您確定數據庫表中有一條電話號碼為123-456-7890的記錄嗎? 里面可能有一些前導或尾隨的空間。

嘗試使用LIKE%%運算符,如下所示:

SELECT *
FROM records
WHERE fromphone LIKE '%123-456-7890%'

如果您有前導/尾隨空格,則可以使用TRIM()

SELECT *
FROM records
WHERE TRIM(fromphone) = '123-456-7890'

如果記錄表中有很多行,將LIKE與前導和尾隨通配符一起使用可能會非常慢,因為在執行該操作時MySQL必須進行全表掃描。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM