所以我有一个包含FirstnameSecondname
的列(未分开)。两个名字的首字母都是大写的。我需要将这些值分成不同的列 - Firstname
,Secondname
和Fullname
(其中字符串的这两部分都用空格划分)。但是,由于我能够将各个部分连接在一起,因此不会出现问题。
答案 0 :(得分:0)
在大多数情况下,SQL Server将字符串(varchar)视为不区分大小写,因此您需要显式设置区分大小写的排序规则。接下来,您必须找到 last 大写字母并使用此位置。共
declare @a varchar(50)='FirstnameSecondname'
select reverse(
left(reverse(@a),
PATINDEX('%[A-Z]%',
reverse(@a collate SQL_Latin1_General_Cp437_BIN)))) secondname
对Firstname使用类似的技巧