SQL剪切字符串到第二个大写字母(Postgres)

时间:2016-06-27 14:23:58

标签: sql string postgresql trim concat

所以我有一个包含FirstnameSecondname的列(未分开)。两个名字的首字母都是大写的。我需要将这些值分成不同的列 - FirstnameSecondnameFullname(其中字符串的这两部分都用空格划分)。但是,由于我能够将各个部分连接在一起,因此不会出现问题。

1 个答案:

答案 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使用类似的技巧