我的客户表中有一列“客户名称”,其中包括名字和姓氏。 “约翰·史密斯”。
如何获取此列以名称的形式显示,即名的首字母,点号和姓氏的初始化。整个专栏中都使用“ J. Smith”吗?
答案 0 :(得分:0)
您可以这样做:
Select CONCAT(SUBSTRING(SUBSTRING(fullname, 1, INSTR(fullname, ' ') - 1), 1, 1), '. ',
SUBSTRING (fullname, INSTR(fullname, ' ') + 1, char_length(fullname)))
from Persons;
说明:
SUBSTRING(SUBSTRING(fullname, 1, INSTR(fullname, ' ') - 1), 1, 1
这将返回“名字”的首字母。您也可以这样做:
SUBSTRING(fullname, 1, 1)
这将给您全名的第一个字母。
使用“。”和姓氏将其连接起来以获取您的字符串。
如评论中所述,拥有一个功能要容易得多。另外,最好在名字和姓氏以及标准化的时间中使用多列。
我使用了以下内容:
CREATE TABLE Persons (
PersonID int,
fullname varchar(255)
);
insert into Persons values (10, "Suresh Yadav");
insert into Persons values (20, "Jane Smith");