2016-06-27 78 views
0

所以我有一列包含FirstnameSecondname(未分隔)。兩個名字的第一個字母都是大寫字母。我需要將這些值分開放在單獨的列中 - Firstname,SecondnameFullname(這兩個字符串部分都用空格分隔)。但是,因爲我可以將各個部分連接起來,所以這不會成爲問題。SQL將字符串切分爲第二個大寫字母(Postgres)

+0

'選擇x [1]爲N1,X [2]如從regexp_matches N2( 'FirstnameSecondname','([AZ] [AZ] *)([ AZ] [az] *)')as t(x);' – Abelisto

+0

很好,謝謝! – ryder951

回答

0

在大多數情況下,SQL Server將字符串(varchar)視爲不區分大小寫,因此您需要明確設置區分大小寫的排序規則。接下來你必須找到最後大寫字母並使用這個位置。共

declare @a varchar(50)='FirstnameSecondname' 
select reverse(
     left(reverse(@a), 
       PATINDEX('%[A-Z]%', 
       reverse(@a collate SQL_Latin1_General_Cp437_BIN)))) secondname 

用於姓類似花樣

相關問題