我有一个表格,它以下面的格式返回变量字符串长度:
Example Text: More example text
如何删除冒号和冒号之前的所有文本,只留下冒号右侧的文本,因此我的结果是:
More example text
右边的文字可以是任意长度。
由于
答案 0 :(得分:2)
您可以使用CHARINDEX查找冒号的索引,然后使用RIGHT仅对您想要的文本进行子串:
DECLARE @text VARCHAR( MAX ) = 'Example Text: More example text'
PRINT RIGHT( @text, LEN( @text ) - CHARINDEX( ':', @text ) )
-- Prints " More example text"
要删除前导空格,您可以LTRIM输出:
PRINT LTRIM( RIGHT( @text, LEN( @text ) - CHARINDEX( ':', @text ) ) )
-- Prints "More example text"
答案 1 :(得分:2)
您可以使用SUBSTRING
,CHARINDEX
和LTRIM
:
DECLARE @Str VARCHAR( MAX ) = 'Example Text: More example text'
SELECT SUBSTRING(@Str , CHARINDEX(':',@Str)+1 , LEN(@Str)) With_Space,
LTRIM(SUBSTRING(@Str , CHARINDEX(':',@Str)+1 , LEN(@Str))) Without_Space
答案 2 :(得分:0)
这是对我有用的答案。 Script.Topic是列名:
SELECT RIGHT('{Script.Topic}', len('{Script.Topic}') - charindex(':', '{Script.Topic}'))