📅  最后修改于: 2023-12-03 15:05:18.587000             🧑  作者: Mango
在 SQL 中,如果需要删除一个字符串中最后一个指定的字符,有几种方法可以实现,下面介绍其中两种:
UPDATE table_name
SET column_name = LEFT(column_name, CHARINDEX('x', REVERSE(column_name)) - 1)
+ RIGHT(column_name, LEN(column_name) - CHARINDEX('x', REVERSE(column_name)))
WHERE column_name LIKE '%x%';
解析:
REVERSE
函数将字符串反转。CHARINDEX
函数查找反转后字符串中首次出现指定字符的位置,同时减去 1.LEFT
函数获取字符串左侧,长度为指定位置的子字符串。RIGHT
函数获取字符串右侧,长度为字符串总长度减去指定位置的子字符串。需要注意的是,上述代码中的 'table_name'
和 'column_name'
分别为表名和要删除字符的字段名。
UPDATE table_name
SET column_name = REVERSE(STUFF(REVERSE(column_name), 1, CHARINDEX('x', REVERSE(column_name)), ''))
WHERE column_name LIKE '%x%';
解析:
REVERSE
函数将字符串反转。CHARINDEX
函数查找反转后字符串中首次出现指定字符的位置。STUFF
函数将指定位置的字符替换为空字符串。与方法一类似,需要注意的是,上述代码中的 'table_name'
和 'column_name'
分别为表名和要删除字符的字段名。
上述两种方法都可以删除一个字符串中最后一个指定的字符,具体应根据实际情况选择使用哪种方法。