我想查找表中包含空值的列。是否有包含该信息的系统表?
问问题
9258 次
2 回答
4
要查找允许“空”值的列,请尝试...
select *
from dbc.columns
where databasename = 'your_db_name'
and tablename = 'your_table_name'
and Nullable = 'Y'
然后要识别带有空值的特定行,从上一个结果集中获取“ColumnName”并运行查询以识别结果......如果你想对它们采取进一步的行动(更新,删除)。
-- for example you found out that column "foo" is nullable...
create volatile table isnull_foo_col
as
(
sel *
from your_table_name
where foo is null
) with data
on commit preserve rows;
于 2013-05-14T13:55:19.220 回答
0
如果您在列上收集了统计信息,则可以使用此处找到的 Teradata 12.0.03+ 和 Teradata 13.0.02+ 的视图来确定表中具有 NULL 值的记录数。
在 Teradata 14 中,如果您使用SHOW STATISTICS
withVALUES
子句,您将获得由上面链接中列出的视图生成的类似信息。
您可以使用 DBC.Columns 数据字典视图来确定特定表中的哪些列可以为空。
于 2013-05-14T02:57:54.663 回答