1

[CaseNo] と [QueryNo] という 2 つの int を持つテーブル [Case] があります。一度に存在するのはこれらのうち 1 つだけで、もう 1 つは Null を返します。

存在する場合は [CaseNo] を返す SELECT ステートメントが必要です。存在しない場合は、[QueryNo] であることを示すために「Q」が続く [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 に答える