查询以显示全名的缩写

时间:2018-10-18 23:01:38

标签: sql

我的客户表中有一列“客户名称”,其中包括名字和姓氏。 “约翰·史密斯”。

如何获取此列以名称的形式显示,即名的首字母,点号和姓氏的初始化。整个专栏中都使用“ J. Smith”吗?

1 个答案:

答案 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");