我有一張如下創建的表。基於SQL中的空列插入錯誤消息列
CREATE TABLE TEST_NULL
(
ID INT,
NAME VARCHAR(10),
PLACE VARCHAR(10),
ADDRESS VARCHAR(10),
ERRORMESSAGE VARCHAR(100)
)
INSERT INTO TEST_NULL
VALUES
(1, 'ABC', 'BLR', 'WHT', NULL),
(2, 'DEF', 'BLR', NULL, NULL),
(3, 'GHI', NULL, NULL, NULL),
(4, 'JKL', NULL, 'WHT', NULL)
SELECT * FROM TEST_NULL
當我爲表格做了選擇時,我想要得到ERRORMESSAGE列的預期結果,如下所示。
我需要得到第一紀錄:
1, 'ABC', 'BLR', 'WHT', NULL
我需要獲得第二個紀錄:
2, 'DEF', 'BLR', NULL, 'Address is NULL'
我需要得到第三個紀錄:
3, 'GHI', NULL, NULL, 'Place, Address is NULL'
我需要得到第4條記錄爲:
4, 'JKL', NULL, 'WHT', 'Place is NULL'
任何幫助表示讚賞。
感謝。
謝謝Tim。我已經嘗試過,但是我有很多字段需要檢查,而且這看起來有點硬編碼。所以我在尋找一些可以處理這個問題的功能? – Emraan
Oracle有一個'DECODE'函數可以做你想做的事情,但是SQL Server沒有它。如果你在尋找替代品,大多數情況下你會發現一個CASE表達式作爲推薦。 –
當然提姆。現在讓我繼續這種方法。如果您遇到任何最佳方式,請隨時分享。謝謝。 – Emraan