2

我想取COLUMN_A'#'字符之后的子字符串。

我用了:

RIGHT(COLUMN_A, (LEN(COLUMN_A) - CHARINDEX('#', COLUMN_A)))

COLUMN_A当有一个“#”字符时,这很好用。但在某些行中,如果“#”不存在,那么我会得到空结果。我试着ISNULL()用来处理这个,但没有运气!

关于如何处理的任何建议?

4

1 回答 1

1

使用 case 语句检查是否有井号并返回其他内容:

CASE WHEN CHARINDEX('#',COLUMN_A) = -1 
  THEN COLUMN_A
  ELSE RIGHT(COLUMN_A, (len(COLUMN_A) - CHARINDEX('#',COLUMN_A)))
END
于 2016-07-27T22:49:04.040 回答