因此,我有一个表,它有一个列'full_name‘,它以surname+given名称的格式存储中文名称。
我要做的是把它分成两列:一个代表姓氏,另一个代表给定的名字。姓氏总是一个字符,而给定的名称是一个或两个字符长。之间没有空位。我怎么能把它们分开?
当我尝试使用:SELECT SUBSTRING(full_name, 0, 1) AS surname FROM citizens_CH时,它返回了一个空列。我在某个地方读到,MySQL中的汉字实际上并不长..。但不管我改变了什么,它什么也没做。有什么建议吗?
发布于 2022-08-07 14:20:36
你好,请试一下:
首先创建一个表:
CREATE TABLE ChineseNames (FullName VARCHAR(5));
INSERT INTO ChineseNames VALUES
('王沐宸'),
('李浩宇'),
('张沐辰'),
('刘茗泽'),
('杨奕辰'),
('黄宇泽'),
('赵浩然'),
('吴奕泽'),
('王沐');那么,让我们编写代码:
SELECT FullName, LEFT(FullName,1) AS SurName,SUBSTRING(FullName,2,9999) AS GivenName
FROM ChineseNames;结果产生:

https://stackoverflow.com/questions/73267905
复制相似问题