我试图检查空值或空列。SQL - 空或空字段
SELECT * FROM myTable
WHERE myColumn IS NULL OR myColumn = ' ';
的事情是,我想包括几桌(MYTABLE1,myTable2,myTable3)在同一查询 和避免需要指定列名(myColumn) 所以查询是通用尽可能恢复几个表中的空列名或空列名。
在此先感谢。
我试图检查空值或空列。SQL - 空或空字段
SELECT * FROM myTable
WHERE myColumn IS NULL OR myColumn = ' ';
的事情是,我想包括几桌(MYTABLE1,myTable2,myTable3)在同一查询 和避免需要指定列名(myColumn) 所以查询是通用尽可能恢复几个表中的空列名或空列名。
在此先感谢。
DECLARE @col VARCHAR(255),
@table VARCHAR(255),
@cmd VARCHAR(max)
DECLARE getinfo CURSOR FOR
SELECT t.name,
c.name
FROM sys.tables t
JOIN sys.columns c
ON t.Object_ID = c.Object_ID
WHERE t.Name IN ('table-1', 'table-2')
--WHERE t.Name IN (provide your TABLE list)
OPEN getinfo
FETCH NEXT FROM getinfo INTO @table, @col
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @cmd = 'IF EXISTS (SELECT top 1 * FROM ' + @table
+ ' WHERE (' + @col + ' IS NULL or ' + @col
+ '='''')) BEGIN print ''tablename=''+'''
+ @table + '''+'' column name=''+''' + @col
+ ''' end'
--PRINT @cmd
EXEC(@cmd)
FETCH NEXT FROM getinfo INTO @table, @col
END
CLOSE getinfo
DEALLOCATE getinfo
您需要包括名字,如果你想简化的表达,你可以使用 SELECT * FROM mytable的 WHERE合并(myColumn, '')= '' – radar 2014-10-09 02:11:10