2

ItemNumber と Name の 2 つの列を 1 つの変数に連結する SQL ステートメントがあります。この変数をリストボックスの DataTextField として使用します。すべてがうまくいくように見えました。ただし、問題が見つかりました..一部の行の名前フィールドにnull値があり、変数を返すと、変数はnullです。

だから私はそのヌル値をチェックし、代わりにアイテム番号だけをその場所に置く方法があるかどうか尋ねていますか?

ここに私のSQL文があります

SELECT ProductID, Name, CustItemNum, CustItemNum + ' - ' + Name AS itemNumName
FROM Item it inner join JITVendors jit on it.Catalog_code = jit.Catalog_code 
WHERE jit.VendorName = 'Vendor' 
ORDER BY Name

他に役立つコードがあればお知らせください。提供できるようにいたします。ありがとうございました

4

3 に答える 3

6

名前を空の文字列coalesceに置き換えるために使用できます。null

CustItemNum + coalesce(' - ' + Name,'') AS itemNumName
于 2012-06-19T18:27:02.143 に答える
3

コメントで@ashes999が示唆しているように、次を使用できますISNULL

SELECT ProductID, Name, CustItemNum, ISNULL(CustItemNum,'') + ' - ' + ISNULL(Name,'') AS itemNumName
FROM Item it inner join JITVendors jit on it.Catalog_code = jit.Catalog_code 
WHERE jit.VendorName = 'Vendor' 
ORDER BY Name
于 2012-06-19T18:30:09.367 に答える
2

毎回空の文字列を手動で合体せずにどこでもこれを行いたい場合は、まだ言及されていない別のオプション:

SET CONCAT_NULL_YIELDS_NULL OFF

(デフォルトはオン)。オンの場合、NULL を文字列に連結すると NULL になります。オフの場合、このサーバー オプションは文字列を連結するときに空の文字列として扱います (たとえば、これがオフの場合に NULL に連結された文字列は元の文字列になります)。

http://msdn.microsoft.com/en-us/library/ms176056.aspx

于 2012-06-19T18:31:25.017 に答える