0
我想用sql做一些文本格式(MS SQL server 2008)。我有三個要返回空字符串或某種文本的變量,它們永遠不會爲空。我想用以下方式顯示文本:
@ 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 = '' ==>
等SQL空字符串和文本格式
這裏是什麼,我有一個簡化版本...
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,''),'')
我覺得像我我錯過了一些重要的細節。讓我知道是否需要澄清。
記得刪除最後的逗號。 –
不幸的是,我沒有這個選項可用,因爲後臺是一個web服務正在調用一個存儲過程並轉換它返回給xml,所以沒有地方可以使用任何客戶端語言。 –
@ user1401635 - 什麼是消費XML?那可以處理三個項目而不是一個? ' xxx yyy'? –
MatBailie