我有一个字段是这样的格式:
value 1, description
我尝试做的是通过只保留描述部分并删除值1来更新此列。
我在我的领域的例子:
1st district, Rockville
6th district, Gaithersburg / Montgomery Village
更新后我想要的:
Rockville
Gaithersburg / Montgomery Village
现在我用这个,但是它给出了第一部分而不是第二部分:
SELECT
(CASE WHEN INSTR(field, ',') > 0
THEN substr(field, 1, instr(field, ',') +1)
ELSE myfield
END) AS myfield
FROM
mydata
3条答案
按热度按时间eqzww0vc1#
使用
comma
的位置作为substr
函数的起始位置,而不是子字符串长度如评论中所述,可以简化为
待更新
kqhtkvqz2#
我认为您可以在这里使用regexp_substr,类似于:
8aqjt8rx3#
如果你总是想得到最后一个逗号后面的部分,你可以这样做:
使用
SUBSTR
+INSTR
:使用
REGEXP_SUBSTR
:TRIM用于删除字符串中任何多余的前导或尾随空格。