0
我需要幫助將整個表更新爲0 [零],其中值爲NULL。 沒有指示每列分開。更新整個表,其中值爲NULL [無需單獨指示每個列]
我需要幫助將整個表更新爲0 [零],其中值爲NULL。 沒有指示每列分開。更新整個表,其中值爲NULL [無需單獨指示每個列]
這是可以做到,你就必須先提取INFORMATION_SCHEMA的所有列名或其他地方,建立SQL轉換成字符串,然後執行它:
USE MyDatabase
DECLARE @TableName NVARCHAR(100)
SELECT @TableName = 'MyTable'
DECLARE @Sql NVARCHAR(4000)
SELECT @Sql = COALESCE(@Sql + '; ', '')
+ 'UPDATE dbo.'
+ @TableName
+ ' SET '
+ COLUMN_NAME
+ ' = 0 WHERE '
+ COLUMN_NAME
+ ' IS NULL'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TableName
AND IS_NULLABLE = 'YES'
AND DATA_TYPE NOT IN ('text','ntext','image')
SELECT @Sql
EXEC(@Sql)
一定要設置MyDatabase
和MyTable
相應
這是不能做到的。爲了使用SQL UPDATE語句,你必須明確定義哪些列設置爲0而不是NULL。 –
你在搜索什麼? http://stackoverflow.com/questions/9705369/is-there-a-quick-way-to-check-if-any-column-is-null – HABO
向拉里沃爾的道歉,但在這種情況下,不要懶。只需拼出列並完成它。 –