在表中存储了一个数据库 MySql version 8.0.17
我有这个字符串
Sheriff Curtis Edward
我只需要在这个字符串中替换这个返回的第一个空格
SheriffCurtis Edward
即使给定的姓氏是双姓,这也将使以后的姓氏条目起作用...
我试过这个sql但是返回错误...
SELECT SUBSTRING('Sheriff Curtis Edward',
INSTR('Sheriff Curtis Edward', ' ') + 1,
CHAR_LENGTH('Sheriff Curtis Edward') - INSTR('Sheriff Curtis Edward', ' ')) new_string;
+---------------+
| new_string |
+---------------+
| Curtis Edward |
+---------------+
1 row in set (0.10 sec)
答案 0 :(得分:1)
您可以在此处将 REGEXP_REPLACE
与捕获组一起使用:
SELECT
col,
REGEXP_REPLACE(col, '^(\\S+) ', '$1') AS col_out
FROM yourTable;
答案 1 :(得分:1)
使用 subtring()
方法,您还可以提取空格前的子字符串,并将其与空格后的子字符串连接起来。
SELECT concat(substring(x.s,
1,
instr(x.s,
' ')
- 1),
substring(x.s,
instr(x.s,
' ')
+ 1,
char_length(x.s)
- instr(x.s,
' ')))
FROM (SELECT 'Sheriff Curtis Edward' s) x