34,593
社区成员
发帖
与我相关
我的任务
分享
DECLARE @Tables VARCHAR(600
set @tables=' CQT_TestData.dbo.t_CQTGSM_DedicatedMeas'
问题一:
怎么 获取 '_' 出现第二次的位置
问题二:
最后 我想 通过 截的 字符串 'DedicatedMeas'
由于字符串 是可变的 ,所以这里不能用 特定的 起始结束位置。
--问题一:
DECLARE @Tables VARCHAR(600)
set @tables='CQT_TestData.dbo.t_CQTGSM_DedicatedMeas'
Select CharIndex('_',Substring(@tables,CharIndex('_',@tables)+1,100))
Select Substring(@tables,CharIndex('_',@tables)+1,100)
--问题二:
DECLARE @Tables VARCHAR(600)
set @tables='CQT_TestData.dbo.t_CQTGSM_DedicatedMeas'
Select @tables=Substring((Substring(@tables,CharIndex('_',@tables)+2,100)),
CharIndex('_',Substring(@tables,CharIndex('_',@tables)+1,100)),100)
Select Substring(@tables,CharIndex('_',@tables)+1,100)
DECLARE @tables VARCHAR(600)
set @tables='CQT_TestData.dbo.t_CQTGSM_DedicatedMeas'
select CharIndex('_',@tables)+CharIndex('_',substring(@tables,CharIndex('_',@tables)+1,len(@tables)))
DECLARE @Tables VARCHAR(600)
set @tables=' CQT_TestData.dbo.t_CQTGSM_DedicatedMeas'
select charindex('_',@tables,charindex('_',@tables,1)+1)
select right(@tables,charindex('_',reverse(@tables),1)-1)
DECLARE @tables VARCHAR(600)
set @tables=' CQT_TestData.dbo.t_CQTGSM_DedicatedMeas'
select reverse(left(reverse(@tables),charindex('_',reverse(@tables))-1))
DedicatedMeas
DECLARE @Tables VARCHAR(600)
select @Tables='CQT_Tea.t_CQT_edMeas'
select CHARINDEX('_',@Tables,0)+CHARINDEX('_',STUFF(@Tables,1,CHARINDEX('_',@Tables,0),''),1)
DECLARE @Tables VARCHAR(600)
select @Tables='CQ_T_CQT_edMeas'
select CHARINDEX('_',@Tables,0)+CHARINDEX('_',STUFF(@Tables,1,CHARINDEX('_',@Tables,0),''),1)
DECLARE @Tables VARCHAR(600)
set @tables=' CQT_TestData.dbo.t_CQTGSM_DedicatedMeas'
select charindex('_', @tables, charindex('_',@tables)+1) -- 20
select reverse(left(reverse(@tables), charindex('_',reverse(@tables))-1)) -- DedicatedMeas