tsql - 使用SUBSTRING提取字符串

时间:2014-01-02 15:56:57

标签: sql-server-2008 tsql substring charindex

我有一个列,我需要从“_”开始提取字符串的剩余部分。示例如下:

TF_Bskt Trade would need to be "Bskt Trade"
SSC_Equity would need to be "Equity"
etc ......

所以我使用TF_Bskt交易示例:

SELECT SUBSTRING ('TF_Bskt Trade' ,CHARINDEX('_','TF_Bskt Trade')+1, length)

然而,我对如何确保长度是从字符串_和字符串结尾之后的开头感到困惑,以致它是动态的?基本上它适用于“_”之后不同程度的弦长。

有关如何有效实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:3)

以下将完成工作

 SELECT SUBSTRING ('TF_Bskt Trade', CHARINDEX('_', 'TF_Bskt Trade') + 1, LEN('TF_Bskt Trade'))

因为SUBSTRING的length参数的documentation表示“如果start和length的总和大于表达式中的字符数,则返回从start开始的整个值表达式。”。