我试图提取其中一个列的子字符串。
SELECT PT.col1 AS MyColumn
,(
CASE WHEN CHARINDEX(PT.col1, '$') > 0
THEN SUBSTRING(PT.col1, CHARINDEX(PT.col1, '$') + 1,
LEN(PT.col1) - CHARINDEX(PT.col1, '$') - 1)
ELSE ''
END
)
,T1.col2
,PT.col3
,T1.col4
,T1.col5
//...
我得到的所有行都是空字符串。我试过只显示$' character but I'm getting
0的索引。
PT.col1
的值似乎是French (Canada)$fr-CA
,Portuguese (Brazil)$pt-BR
,...
我错过了什么吗?
答案 0 :(得分:3)
您必须切换参数:
SELECT CHARINDEX('a$bc', '$') AS Wrong, CHARINDEX('$', 'a$bc') AS Ok
/*
Wrong Ok
----------- -----------
0 2
*/