2014-04-01 67 views
-1

我想爲輸入'HELLO DEAR [GOOD] FRIEND'輸出'HELLO DEAR FRIEND'。我們可以使用任何特殊字符來標識要刪除的字詞。用於從字符串中刪除單詞的SQL查詢

+1

好呀!前進。 – GolezTrol

+0

如果要刪除的字符串不是「GOOD」,會發生什麼情況?你如何確定你想要刪除的內容?方括號?如果正在輸入,你爲什麼要麻煩去除字符串?只是不要輸入它...... – Ben

+0

@本,這是一個有效的要求。例如我有一個帶有消息的表格,例如'Your password is [xyzzy] .'',一旦我發送了消息,我想刪除敏感數據,但爲了調試目的而保留其餘部分,例如。 '你的密碼是[*****]。'。我用一個正則表達式IIRC解決了它。 –

回答

0

假設你的字以[和結尾],你可以這樣做伎倆:

SQL>從服務器選擇STR;

HELLO DEAR [GOOD]朋友

SQL>選擇CONCAT(LEFT(STR,LOCATE( '[',STR)-1),RIGHT(STR,CHAR_LENGTH(STR) - LOCATE( ']',str)))來自服務器;

HELLO親愛的朋友

1

你可以使用正則表達式,例如:

select regexp_replace('HELLO DEAR [GOOD] FRIEND' 
        , '\[.*\]', '') from dual; 

HELLO DEAR FRIEND