从SQL Server中的charindex函数获取第二次出现

时间:2019-04-10 11:53:50

标签: sql sql-server

我需要获取下面文本的第二次空格。应该是56号之后的空间,但我要在56号之前成为第15个位置。

select charindex(' ', 'Posted/edited: 56 days ago', 2)

2 个答案:

答案 0 :(得分:2)

您已经在查询=> 15中获得第二个空格('')的位置。例如,您可以使用它来提取第二个空格(

select substring('Posted/edited: 56 days ago', 
           charindex(' ', 'Posted/edited: 56 days ago', 2) + 1, 
           len('Posted/edited: 56 days ago'))

答案 1 :(得分:1)

您需要为START_LOCATION设置CHARINDEX。这意味着应该找到什么字符charindex。在我们的示例中,我们需要在56之后查找。因此,代码应如下所示:

select CHARINDEX(' ', 'Posted/edited: 56 days ago', 
    CHARINDEX('56', 'Posted/edited: 56 days ago', 0));

输出:

18