2014-04-01 49 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