1

我有一个表 [Case],其中其他字段有两个整数,一个称为 [CaseNo],另一个称为 [QueryNo]。任何时候只有其中一个存在,另一个将返回 Null。

我想要一个 SELECT 语句,如果它存在,它将返回 [CaseNo],如果它不存在,它应该返回由“Q”开头的 [QueryNo] 以表示它是一个 [QueryNo]。

我尝试了以下语句 -

SELECT CONVERT(VarChar(50), (ISNULL(CaseNo, 'Q' + QueryNo)))
FROM [Case]

但它不喜欢我的转换。

有人可以帮助我获得正确的声明以实现我的目标。

4

1 回答 1

1

使用CASE语句:

Select Case when caseNo is null then 'Q'+ Convert(varchar(10),queryNo) 
            else Convert(varchar(10),caseNo) end as yourNo
from [Case]

或者,如果你喜欢使用 isnull/coalesce,你可以这样做:

Select isnull(Convert(varchar(10), caseNo),'Q' + Convert(varchar(10), queryNo)) yourNo
from [Case]
于 2013-10-21T10:03:57.507 回答