我有一个表字段membername
,其中包含用户的姓氏和名字。是否有可能分裂成那些2场memberfirst
,memberlast
?
所有记录的格式均为“名字的姓氏”(不带引号,中间还有空格)。
不幸的是,MySQL没有分割字符串功能。但是,您可以为此创建一个用户定义的函数,例如以下文章中描述的函数:
使用该功能:
DELIMITER $$
CREATE FUNCTION SPLIT_STR(
x VARCHAR(255),
delim VARCHAR(12),
pos INT
)
RETURNS VARCHAR(255) DETERMINISTIC
BEGIN
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');
END$$
DELIMITER ;
您将可以按照以下方式构建查询:
SELECT SPLIT_STR(membername, ' ', 1) as memberfirst,
SPLIT_STR(membername, ' ', 2) as memberlast
FROM users;
如果您不想使用用户定义的函数,并且不介意查询更加冗长,则还可以执行以下操作:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(membername, ' ', 1), ' ', -1) as memberfirst,
SUBSTRING_INDEX(SUBSTRING_INDEX(membername, ' ', 2), ' ', -1) as memberlast
FROM users;
问题内容: 我有这串 如何将此字符串拆分为每个子字符串包含2个字符的子字符串?我很困惑,因为我找不到分隔符来分隔它们。 问题答案:
这里对python非常陌生。如何将很长的字典值拆分为两行,同时在使用print()输出时仍显示为一行?请参见下面的代码。 我尝试过使用三重引号(即“”),但没有成功,因为我认为从技术上讲,值不是字符串。
我有一个Akka Streams,我想根据谓词将其分成两个源。 例如。有一个源(类型被有意简化): 还有两种方法: 我希望能够拆分根据谓词,并将右侧部分传递给方法,左侧部分传递给方法。 我尝试使用拆分器,但它需要s结尾。
我有一个数据帧,并希望将数据帧分割成两个基于多个列。 df的所有行都应该没有空列,状态为“是”。Rest应该在df_null上 德国行不在结果数据框中,因为它已被过滤掉。
问题内容: 我有一个值为的字符串。我想将字符串分成两个字符串,值为的字符串和的值为字符串。 正确的功能/语法是什么? 我已经看过了,但是找不到将数据返回到两个单独的字符串中的实际语法。 问题答案: 该功能适用于:
如果我有一个字符串,比如,是否可以使用作为字符串拆分的点,将字符串拆分为两个字符串?