DECLARE @s NVARCHAR(4000) SET @s = '' SELECT @s = @s + ',' + 'isnull('+QUOTENAME(name)+','''')' FROM syscolumns WHERE id = OBJECT_ID('表名') --AND name NOT IN ( '不希望显式的列' ) SET @s = STUFF(@s, 1, 1, '') EXEC('select '+@s+' from 表名 ')
拼接字符串 或者让所有字段 NOT NULL DEFAULT ('')
可以把有Null 值的直接写出来,其他不写啊select isnull(col,''),tb.* from tb
isnull只能改一个字段····我要做的事select * ····这张表里面有上百个字段?我要一个一个写?
SET @s = ''
SELECT @s = @s + ',' + 'isnull('+QUOTENAME(name)+','''')'
FROM syscolumns
WHERE id = OBJECT_ID('表名')
--AND name NOT IN ( '不希望显式的列' )
SET @s = STUFF(@s, 1, 1, '')
EXEC('select '+@s+' from 表名 ')
或者让所有字段
NOT NULL
DEFAULT ('')