我有一个包含 260 列的表,我只想看到其中有空值的列。我知道有几个更长的版本可以查看该信息,但是有没有更快的方法?谢谢大师
SELECT t.column_name
FROM user_tab_columns t
WHERE t.nullable = 'Y' AND t.table_name = 'mytable' AND t.num_distinct = 0
另外,在运行它之前更新您的统计信息:
BEGIN
DBMS_STATS.gather_database_stats();
END
如果您的问题Nullable
表列,请查看@Mihai...
您绝对可以编写动态 Pl/Sql 来构建和执行仅包含包含 null 的列的语句。您可以使用一系列循环、Ref_cursor、立即执行、oracle 数据字典等。
但如果你能做到,你早就知道了。
通常,您可以选择某些值null
的数据。
Select * From myTable where Col1 is null or col2 is null... -- 258 more columns
这将返回所有 260 列,N
至少Null
一列的行