别名 case 语句

Alias case statement

我的存储过程有时会在 ID 中 return 负数。 (故意)。 此外,我有一个显示此 table(简单 select)的视图,但我不希望“-”出现在 ID 列中,我的意思是,如果数字为负数 -我想在没有'-'的ID中添加字母'A'。

我该怎么做?

SELECT REPLACE (ID, '-', 'A') MyID

或者如果您想附加 'A'

SELECT REPLACE (ID, '-', '') + 'A' MyID

如果我理解正确,您可以在下面使用 REPLACEREPLACE(ID, '-', 'A')

所以在这种情况下将是 A115 而不是 -115

你也可以用 CASE:

CASE WHEN Id < 0 THEN 'A' + CAST(Id * -1 AS NVARCHAR(20)) ELSE CAST(Id AS NVARCHAR(20)) END