【发布时间】:2016-10-28 23:21:11
【问题描述】:
我有一个数据库,其中用户的名字是这样的“Ortega,Rafael”,但我需要它的名字在第一个位置并且没有逗号。
我发现了这个函数,它可以让我用分隔符作为子字符串:
CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');
但是当我尝试编写 UPDATE 查询时,我被卡住了
UPDATE `names_table` set `name` = CONCAT(
SPLIT_STR(
SELECT `name` FROM `names_table` WHERE <I need help here>,
',',
1
),
" ",
SPLIT_STR(
SELECT `name` FROM `names_table` WHERE <I need help here>,
',',
2
),
【问题讨论】:
标签: mysql sql subquery substring