2012-03-22 100 views
1

我有一列有冒號「:」分隔的值。 例如DT:CSDF,SFT:TAHS等等從列名截斷字符串

我只是需要採取右側即CSDF,TAHS等

如何做呢SELECT子句中?

回答

3

如果你將永遠不會有小點,你可以使用這個

PARSENAME(REPLACE(ColumnName,':','.'),1) 

例如

DECLARE @v VARCHAR(100) = 'DT:CSDF' 


SELECT PARSENAME(REPLACE(@v,':','.'),1) 

以其它方式使用PATINDEX和RIGHT

SELECT RIGHT(ColumnName,LEN(ColumnName) -PATINDEX('%:%',ColumnName)) 

DECLARE @v VARCHAR(100) = 'DT:CSDF' 


SELECT RIGHT(@v,LEN(@v) -PATINDEX('%:%',@v)) 
0

像這樣:

SELECT SUBSTRING(YourField, 
       CHARINDEX(':', YourField) + 1, 
       LEN(YourField) 
       ) AS YourNewField 
0

是這樣的:

SUBSTR(INSTR(mycol, ':'))