2015-11-06 77 views
-1

我有了這樣的TSQL的數據替換空字段

1 2 3 4 5 

1 1 1 1 

2 2 2 2 

第二和第三行中的最後一列已經留空佈局的表。它們應該包含一個字符串。所以我寫了這個SQL插入到表

INSERT INTO MyTable (5) VALUES ('This is the string'); 

但是,這給我留下了

1 2 3 4 5 

1 1 1 1 

2 2 2 2 

NULL NULL NULL NULL This is the string 

這顯然不是我的本意。我怎樣才能解決這個問題?

+2

您應該閱讀SQL教程。找一個提到'UPDATE'語句的人。 –

+0

所以更新是我需要的。謝謝! – onTheInternet

回答

3

您需要使用UPDATE現有行的值改變現有的行:

CREATE TABLE #tab([1] INT, [2] INT, [3] INT , [4] INT, [5] VARCHAR(100)); 

INSERT INTO #tab([1],[2],[3],[4]) VALUES (1, 1, 1, 1),(2 ,2, 2, 2); 

UPDATE #tab 
SET [5] = 'This is the string' 
WHERE [5] = '' OR [5] IS NULL; 

SELECT * 
FROM #tab; 

LiveDemo

1

給這個一掄......

UPDATE MyTable 
SET 5 = 'This is a string' 
WHERE COALESCE(5, '') = '' -- only update where 5 is currently NULL or blank, i.e. '' 

INSERT - 新行添加到表

UPDATE - 更改表

+0

Jim包含代碼片段的處理是什麼? –

+0

不確定你的意思。這是基於第二句話的答案。 –

+0

檢查我的編輯。您包含標籤,然後出現運行代碼按鈕。這對於jscript而言不適用於sql代碼 –