65.9K
CodeProject 正在变化。 阅读更多。
Home

TSQL 使用分隔符拆分字符串

2013年4月13日

CPOL

1分钟阅读

viewsIcon

36235

TSQL 使用分隔符拆分字符串

背景

假设我们有一个注册表,用于存储成功的注册信息。在该表中,我们有一个名为“Name”的列,该列存储的值是名字和姓氏的组合,由‘ ‘[空格]分隔。 稍后,在某个时刻,我们需要从该列中提取名字或姓氏,该怎么办?

解决方案

解决方案是一个简单的技术,它将获取给定的输入字符串(或在我的场景中,列)并根据给定的分隔符进行拆分。 该技术是获取分隔符的第一个索引,并返回直到第一个索引的字符串,并返回前半部分。 对于后半部分,从分隔符的第一个索引开始,直到输入字符串的末尾,你将获得后半部分。 简单,不是吗!!

  • 拆分并获取前半部分,分隔符为‘ ‘[空格]
    LTRIM(SUBSTRING([COLUMN_NAME], CHARINDEX( ‘ ‘,[COLUMN_NAME])+1,len([COLUMN_NAME])))
  • 拆分并获取后半部分,分隔符为‘ ‘[空格]
    LTRIM(SUBSTRING([COLUMN_NAME], 0,CHARINDEX(‘ ‘,[COLUMN_NAME])+1))

提醒一下,这个解决方案仅适用于你有一个带有单个分隔符的字符串,并且拆分结果的数量为<=2。 虽然这个方法很小,并且不能用于多个分隔符,但对于像我上面解释的情况来说,它非常方便。

© . All rights reserved.