我有一個260列的表,我只想看到只有空值的列。 我知道有幾個更長的版本可以查看這些信息,但有沒有更快的方法? 感謝大師SQL只能從表中選擇空值
回答
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
SELECT t.column_name FROM IP_HEADER噸 WHERE t.nullable = 'Y' 和t.IP_HEADER = 'MYTABLE' AND t.num_distinct = 0 錯誤的Oracle SQL顯影劑: ORA-00904: 「T」 「NUM_DISTINCT」:無效標識符 00904. 00000 - 「%s:無效標識符」 *原因: *操作: Error at Line:7列:71 – StackBartender
您從哪裏得到'IP_HEADER'?是。 – Mihai
如果你的問題是關於顯示Nullable
表列,看看@Mihai ...
你絕對可以寫動態的Pl/Sql來構建並執行只包含包含null的列的語句。您可以使用一系列循環,Ref_cursor,Execute Immediate,oracle數據字典等。
但是,如果您能夠做到,您就會知道。
通常,您可以選擇某些數據,其中某些值爲null
。例如。
Select * From myTable where Col1 is null or col2 is null... -- 258 more columns
這將返回所有260列,N
行,其中至少有一列是Null
- 1. PostgreSQL從兩個表中選擇空值
- 2. 僅從SQL中選擇指定值表
- 3. 從多個表中選擇值 - SQL
- 4. SQL和空選擇值
- 5. 從表中選擇sql
- 6. SQL,從表中選擇(ALIAS-somevalue),(從表中選擇max(someotherval)ALIAS);「?
- 7. 在SQL中只選擇表名
- 8. jquery從表中選擇值
- 9. 只選擇一個從表
- 10. Sql在WHERE子句中選擇空值和非空值
- 11. SQL - 只能使用INSERT添加空值
- 12. 只在sql上選擇數字值
- 13. Sql只選擇兩位數字值
- 14. 從空中選擇?
- 15. SQL從行數據與空選擇最小值值
- 16. SQL選擇COUNT(值=值)可能嗎?
- 17. 只從表中選擇幾列
- 18. 從R表中選擇只有500行
- 19. 只隱藏那些選擇了空值的選擇框
- 20. 我怎樣才能只選擇大於0的值與SQL?
- 21. SQL查詢從條件是從相關表中選擇值
- 22. SQL選擇以顯示即使空值
- 23. 選擇從SQL Server表
- 24. 沒有選擇 - 從表SQL
- 25. SQL Server - 從一列中選擇值對
- 26. SQL從選擇中獲取唯一值
- 27. Sql從From子句中選擇值
- 28. 從SQL中選擇唯一值
- 29. 當從XML中選擇元素時獲取「值不能爲空」
- 30. Android微調只能選擇最大值
你的意思是,所有字段爲空?或ANY列爲空?什麼是您想要改進的「更長」版本? –
如果結果集沒有空值,您希望查詢的結果集將刪除列嗎?抱歉。你不能從這裏到達那裏。您可以查詢系統表(元數據)並使用它來針對其結果集只包含可空列的表構建查詢,但不能寫'select * -nonnullable from foo'。它不這樣工作。 –
尋找一個PIVOT查詢 – koriander