0

我想查找表中包含空值的列。是否有包含该信息的系统表?

4

2 回答 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 STATISTICSwithVALUES子句,您将获得由上面链接中列出的视图生成的类似信息。

您可以使用 DBC.Columns 数据字典视图来确定特定表中的哪些列可以为空。

于 2013-05-14T02:57:54.663 回答