TSQL 使用分隔符拆分字符串





5.00/5 (1投票)
TSQL 使用分隔符拆分字符串
背景
假设我们有一个注册表,用于存储成功的注册信息。在该表中,我们有一个名为“Name
”的列,该列存储的值是名字和姓氏的组合,由‘ ‘[空格]分隔。 稍后,在某个时刻,我们需要从该列中提取名字或姓氏,该怎么办?
解决方案
解决方案是一个简单的技术,它将获取给定的输入字符串(或在我的场景中,列)并根据给定的分隔符进行拆分。 该技术是获取分隔符的第一个索引,并返回直到第一个索引的字符串
,并返回前半部分。 对于后半部分,从分隔符的第一个索引开始,直到输入字符串
的末尾,你将获得后半部分。 简单,不是吗!!
- 拆分并获取前半部分,分隔符为‘ ‘[空格]
LTRIM(SUBSTRING([COLUMN_NAME], CHARINDEX( ‘ ‘,[COLUMN_NAME])+1,len([COLUMN_NAME])))
- 拆分并获取后半部分,分隔符为‘ ‘[空格]
LTRIM(SUBSTRING([COLUMN_NAME], 0,CHARINDEX(‘ ‘,[COLUMN_NAME])+1))
提醒一下,这个解决方案仅适用于你有一个带有单个分隔符的字符串
,并且拆分结果的数量为<=2
。 虽然这个方法很小,并且不能用于多个分隔符,但对于像我上面解释的情况来说,它非常方便。