2016-06-14 15 views
2

我試圖從我的數據庫中選擇沒有問題的字符串,這些字符串不在最後。例如:從沒有問題的數據庫中選擇字符串標記不結尾

如何?嗯?

^---不應被選中,因爲在字符串中有一個問號不在最後。

這裏是我的查詢:

SELECT response FROM allData WHERE response NOT REGEXP '[?]\\(?!$\\)' 

^---我的查詢不工作,而不是在結束時選擇帶有問號的字符串。

我在做什麼錯?

+0

但是你的例子在最後有一個問號(你的邏輯的必然結果),所以它應該被選中! – Strawberry

+0

@Strawberry是的,我的邏輯傷害了我的大腦,而且我無法用頭圍住它。請告訴我使用正確的查詢。 – frosty

+0

'定位('?','怎麼?')=長度('How?嗯?')' – Blank

回答

1

也許適合你,試試吧。 :D

SELECT response FROM allData WHERE LOCATE('?', response) = LENGTH(response) 
+0

是的!有用!你能解釋一下這個函數是如何工作的嗎? – frosty

+3

'LOCATE'查找字符串中字符的第一個位置。如果它等於字符串的長度,則它處於最後位置。 – sagi

+0

@frosty是的,就像sagi說的那樣。:D – Blank