我怎么能删除SQL中不必要的字符

时间:2014-07-25 07:13:25

标签: sql database oracle

我需要一个查询,可以从我的数据库表中存储的字符串中删除不必要的字符(一个不需要的尾随逗号作为示例)。

那样

EMAIL_ADD
abc@gmail.com,
abc@yahoo.com,def@example.org,
abs-def@ac.uk,

会将其更新为以下内容:

EMAIL_ADD
abc@gmail.com
abc@yahoo.com,def@example.org
abs-def@ac.uk

3 个答案:

答案 0 :(得分:1)

TRIM()函数与TRAILING选项一起使用可从字符串末尾删除特定的不需要的字符,在您的情况下是结尾处的逗号。

UPDATE tableName
SET EMAIL_ADD = TRIM(TRAILING ',' FROM EMAIL_ADD)

See documentation here TRIM()

答案 1 :(得分:0)

如果您有一个特定的字符列表,可以在开始和结束时使用trim函数进行过滤:

select ltrim(ltrim(rtrim(rtrim(email_add, ','), ' '), ','), ' ')
from   tableX

在这里,我嵌套了ltrimrtrim来删除前导和尾随,

或使用trim

select trim(trim(both ',' from email_add))
from   tableX

答案 2 :(得分:0)

如果您只想删除字符串的最后一个字符,可以使用

update mytable set my_column = substr(my_column ,0,len(trim(my_column)-1) where mycolumn like '%,'

这是一个未经考验的例子。