我正在尝试使用该RIGHT
函数来获取由“/”组成的值的子字符串,但是当我向该值添加数字时它不起作用CHARINDEX
;只有没有。
这是代码示例:
SELECT CASE
WHEN
CHARINDEX('/',REPLACE(ISNULL(d.target_grade,'NA'), 'N/A', 'NA')) = 0
THEN
REPLACE(ISNULL(d.target_grade,'NA'),'N/A','NA')
ELSE
RIGHT(d.target_grade, CHARINDEX('/',REPLACE(ISNULL(d.target_grade,'NA'), 'N/A', 'NA'))+1)
END as target_grade
FROM tbl --etc.
例如,这会返回
target_grade
-------------
C/D
它应该返回虽然这个
target_grade
-------------
D
但是,如果我删除+1
,该RIGHT
功能将完全正常工作
target_grade
-------------
/D
我在这里做错了什么?我的逻辑有问题吗?