我在存储过程sql中使用CASE条件对中间首字母进行分割双字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在存储过程sql中使用CASE条件对中间首字母进行分割双字符相关的知识,希望对你有一定的参考价值。
例如:代替Juan Juan Dela Cruz Eugenio成为Juan DC。欧金尼奥
SELECT
(
UPPER(lastName)
+ ', '
+UPPER(SUBSTRING(firstName,1,1)) + LOWER(SUBSTRING(firstName,2,99))
+' '
+Suffix
+' '
+(
case
when tb_persons.middleName = '' or tb_persons.middleName = ' ' or tb_persons.middleName is null
then ''
else
UPPER(SUBSTRING(tb_persons.middleName,1,1))+'.'
end)
) as name,
UPPER(SUBSTRING(firstName,1,1)) + LOWER(SUBSTRING(firstName,2,99)) as 'firstName',
UPPER(lastName) as 'lastName',middleName
FROM tb_persons
答案
- 方法1:
SELECT CONCAT( PARSENAME(REPLACE(Name, ' ', '.'), 4), ' ', SUBSTRING(PARSENAME(REPLACE(Name, ' ', '.'), 3), 1, 1), SUBSTRING(PARSENAME(REPLACE(Name, ' ', '.'), 2), 1, 1), '.', PARSENAME(REPLACE(Name, ' ', '.'), 1) ) FROM ( VALUES ('Juan Dela Cruz Eugenio') ) T(Name)
以上是关于我在存储过程sql中使用CASE条件对中间首字母进行分割双字符的主要内容,如果未能解决你的问题,请参考以下文章