SQL (MS SQL サーバー 2008) でテキストの書式設定をしようとしています。空の文字列または何らかのテキストを返す 3 つの変数がありますが、null になることはありません。次のようにテキストを表示したいと思います:
@Var1='A' @Var2='B' @Var3='C' ==> A, B, C
@Var1='A' @Var2='' @ Var3='C' ==> A, C
@Var1='' @Var2='B' @Var3='C' ==> B, C
@Var1='' @Var2='' @Var3='C' ==>
C.
.
.
@Var1='' @Var2='' @Var3='' ==>
など
ここに私が持っているものの簡略化されたバージョンがあります...
DECLARE @Var1 NVARCHAR(100)
DECLARE @Var2 NVARCHAR(100)
DECLARE @Var3 NVARCHAR(100)
SET @Var1 = 'A'
SET @Var2 = 'B'
SET @Var3 = 'C'
SELECT
ISNULL(NULLIF(@Var1,''), '')
+
CASE
WHEN NULLIF(@Var1,'') IS NOT NULL AND NULLIF(@Var2,'') IS NOT NULL THEN ', ' ELSE ''
END
+
ISNULL(NULLIF(@Var2,''),'')
+
CASE
WHEN NULLIF(@Var2,'') IS NOT NULL AND NULLIF(@Var3,'') IS NOT NULL THEN ', ' ELSE ''
END
+
ISNULL(NULLIF(@Var3,''),'')
いくつかの重要な詳細が欠落しているように感じます。説明が必要な場合はお知らせください。