从表

时间:2017-08-24 12:39:54

标签: sql sql-server

我有一个问题。

在表格中我有例如

591|15-MA TEST 

我想要检索15-MA TEST

我尝试混用substringcharindexleft - 没有用。

任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:0)

所以,你需要获得起始位置。您可以使用CHARINDEX然后添加1.然后您可以使用SUBSTRING。

(假设字符串总是只有一个“|”作为分隔符。)

DECLARE @s varchar(50) SET @s = '591|15-MA TEST'

SELECT CHARINDEX('|', @S) AS Position,  
    SUBSTRING(@s, CHARINDEX('|', @S) + 1, len(@s)) AS SelectionText

<强>结果

4     15-MA TEST

答案 1 :(得分:0)

declare @char varchar(100)
select @char = '591|15-MA TEST' 
select SUBSTRING(@char, CHARINDEX('|',@char,1)+1 , LEN(@char))

答案 2 :(得分:0)

select substring('591|15-MA TEST', CHARINDEX( '|', '591|15-MA TEST')+1, LEN('591|15-MA TEST'));

答案 3 :(得分:0)

如果您想要获得&#39; |&#39;之后的任何内容。 char,那你想要这样的东西:

SELECT
    RIGHT([Column Name],LEN([Column Name]) - CHARINDEX('|', [Column Name]))
FROM
    [Table Name]