gpt4 book ai didi

sql - 获取 SQL 字符串中每个单词的第一个字母

转载 作者:行者123 更新时间:2023-12-02 21:23:30 24 4
gpt4 key购买 nike

Possible Duplicate:
sql to pick apart a string of a persons name and output the initials

MS-SQL Server ,有没有办法获取字符串中每个单词的第一个字母?例如:

姓名:

Michael Joseph Jackson

查询:

SELECT name, [function] as initial FROM Customers

结果:

MJJ

最佳答案

此函数将保护您的结果免受源字符串中多个连续空格的影响:

CREATE FUNCTION dbo.fnFirsties ( @str NVARCHAR(4000) )
RETURNS NVARCHAR(2000)
AS
BEGIN
DECLARE @retval NVARCHAR(2000);

SET @str=RTRIM(LTRIM(@str));
SET @retval=LEFT(@str,1);

WHILE CHARINDEX(' ',@str,1)>0 BEGIN
SET @str=LTRIM(RIGHT(@str,LEN(@str)-CHARINDEX(' ',@str,1)));
SET @retval+=LEFT(@str,1);
END

RETURN @retval;
END
GO

SELECT dbo.fnFirsties('Michael Joseph Jackson');
SELECT dbo.fnFirsties(' Michael Joseph Jackson '); -- multiple space protection :)

结果:

MJJ
MJJ

关于sql - 获取 SQL 字符串中每个单词的第一个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9301081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com