第二次出现后的SQL子字符串

时间:2019-11-19 17:42:37

标签: sql sql-server substring

我有如下字符串:

Geographical Information & Income: Income - National Classifications: Los Angeles - Low

您知道如何只能从中获得“低”吗?这对我来说很难,因为我不知道如何告诉子字符串从第二个“-”开始。

4 个答案:

答案 0 :(得分:0)

对于此字符串,请使用如下字符串函数:

declare @s varchar(100) = 'Geographical Information & Income: Income - National Classifications: Los Angeles - Low';

select ltrim(right(@s, charindex('-', reverse(@s)) - 1))

答案 1 :(得分:0)

您可以使用RIGHT得到最正确的词:

DECLARE @string NVARCHAR(500) = 'Geographical Information & Income: Income - National Classifications: Los Angeles - Low'

SELECT RIGHT(@string,CHARINDEX(' ',REVERSE(@string)) - 1)

答案 2 :(得分:0)

这对于“-”的第二个索引有效

     Select
            Substr(
          Instr(
                Substr(
                Instr(Substr(string, "-")+1, 
                Length(string)
                            ), 
            "-")+1 , 
            length(string)) from table;

答案 3 :(得分:0)

我建议结合使用修剪:

select trim(RIGHT ( 'Geographical Information & Income: Income - National Classifications: Los Angeles - Low ' , charindex('-', reverse('Geographical Information & Income: Income - National Classifications: Los Angeles - Low '))-1) )

为什么?好吧,因为您可以遇到类似“测试-测试-单词”的情况 干杯!