Sql server 获取子字符串,直到特定字符从右向左开始
我有一个字符串列,需要在其中查找子字符串,直到找到第一个“-” 示例列ELOT-IGS-2。我需要得到“2”作为输出。 这些列来自一个表,因此我不能将变量声明为固定字符串 我尝试了Sql server 获取子字符串,直到特定字符从右向左开始,sql-server,tsql,Sql Server,Tsql,我有一个字符串列,需要在其中查找子字符串,直到找到第一个“-” 示例列ELOT-IGS-2。我需要得到“2”作为输出。 这些列来自一个表,因此我不能将变量声明为固定字符串 我尝试了LOCATE,SUBSTRING\u INDEX,但都不是内置函数 我还尝试了对(ID_BETSLIP,CHARINDEX('-',ID_BETSLIP)-1)但当我有2次“-”时,这不起作用 有人有主意吗 DECLARE @t varchar(20) = 'ELOT-IGS-2' select REVERSE(SUB
LOCATE
,SUBSTRING\u INDEX
,但都不是内置函数
我还尝试了对(ID_BETSLIP,CHARINDEX('-',ID_BETSLIP)-1)
但当我有2次“-”时,这不起作用
有人有主意吗
DECLARE @t varchar(20) = 'ELOT-IGS-2'
select REVERSE(SUBSTRING(reverse(@t),0,CHARINDEX ('-',REVERSE(@t))))
- 一旦你得到@mohan111解决方案,你就应该自己做这件事!对于您自己的改进,您不能要求一切:-(一旦您得到了一个几乎满足您需要的解决方案,现在是您自己尝试改进它的时候了。请检查此URL,每次您需要解析字符串时,从这里开始:-)试着检查函数,也许您会找到解决方案。
- 一旦你得到@mohan111解决方案,你就应该自己做这件事!对于您自己的改进,您不能要求一切:-(一旦您得到了一个几乎满足您需要的解决方案,现在是您自己尝试改进它的时候了。请检查此URL,每次您需要解析字符串时,从这里开始:-)试着检查函数,也许您会找到解决方案。
select SUBSTRING(reverse(ELOT-IGS-2),0,charindex('-',reverse(ELOT-IGS-2)))
最简单的是
select SUBSTRING(reverse(ELOT-IGS-2),0,charindex('-',reverse(ELOT-IGS-2)))
select RIGHT(,CHARINDEX('-',REVERSE())-1)
选择右(,CHARINDEX('-',REVERSE())-1)
检查此项或此项我可以声明来自表中某列的变量吗?检查此项或此项我可以声明来自表中某列的变量吗?几乎是人!我得到PIK3-99701列作为输出“10799”。有没有办法解决这个问题?伊戈尔发布了一些有用的东西,但删除了他的帖子。子串(ID_-BETSLIP,LEN(ID_-BETSLIP)-CHARINDEX('-',反向(ID_-BETSLIP))+2,LEN(ID_-BETSLIP))作为测试者!我得到PIK3-99701列作为输出“10799”。有没有办法解决这个问题?伊戈尔发布了一些有用的东西,但删除了他的帖子。子字符串(ID_BETSLIP,LEN(ID_BETSLIP)-CHARINDEX('-',反向(ID_BETSLIP))+2,LEN(ID_BETSLIP))作为测试