我試圖從一張表中找出姓名列表,其中姓氏不是以z或z開始使用mysql。我嘗試將子字符串與instr結合起來實現此目的。嘗試如下:省略以某些字符開頭的結果
SELECT DISTINCT SQL_CALC_FOUND_ROWS CONCAT(FName," ",SName)
FROM Names
WHERE SUBSTRING(
CONCAT(FName, ' ' ,SName),
INSTR(CONCAT(FName, ' ' ,SName), ' ') +1,
1)
<> 'z'
OR SUBSTRING(
CONCAT(FName, ' ' ,SName),
INSTR(CONCAT(FName, ' ' ,SName), ' ') +1,
1)
<> 'Z'
ORDER BY SName
我的嘗試返回的結果與z作爲姓氏的第一個字母。誰能解釋爲什麼?或者,如果有更好的方法來實現這一
這很容易謝謝。我現在看到我犯的一個嚴重錯誤是使用OR而不是AND!不知道我在想什麼 – user2363025