T-SQL查找char字符串并将所有char设置为表达式右侧

时间:2011-07-26 19:27:35

标签: sql sql-server tsql

我如何

采取:

RJI#\\\\Cjserver\TrialWorks\CaseFiles\10000269\Pleadings\RJI - 10005781.doc

查找常量表达式'\\ Cjserver \'并将所有内容放在表达式的右侧,以便正确的指针为:

\\\\Cjserver\TrialWorks\CaseFiles\10000269\Pleadings\RJI - 10005781.doc

我知道某种RIGHTCHARINDEX的组合应该这样做。

3 个答案:

答案 0 :(得分:3)

DECLARE @input NVarChar(1000) =
  'RJI#\\Cjserver\TrialWorks\CaseFiles\10000269\Pleadings\RJI - 10005781.doc',
        @match NVarChar(100) =
  '\\Cjserver';
DECLARE @position Int = CHARINDEX(@match, @input);

SELECT SUBSTRING(@input, @position, 1000);

我只是使用1000来获得一些任意大的值。您可能应该更适合您的数据。

答案 1 :(得分:1)

你想使用Substring,从你的目标索引之后开始,并取整个字符串的长度减去目标的charindex

  declare @string varchar(1000)
     set @string = 'xxxxxxxxyzzzzzzzz'
     select substring(@string, charindex('y', @string) +1, 
     len(@string) - charindex('y', @string))
     zzzzzzzz

在这种情况下,我想要在y

之后的所有内容

答案 2 :(得分:0)

DECLARE @String VARCHAR(100)
SET @String = 'RJI#\\Cjserver\TrialWorks\CaseFiles\10000269\Pleadings\RJI - 10005781.doc'

SELECT RIGHT(@String,LEN(@String)-PATINDEX('%\\Cjserver\%',@String)+1)