ORACLE 检查数据库表中是否存在不规范字 段的语句参考.sql
--查看是否有除number,char,date,varchar2,clob/blob之外的类型,比如:NVARCHAR2,TIMESTAMP(6),FLOAT
SELECT DISTINCT a.DATA_TYPE FROM user_tab_cols a;
--对于number类型的,还需查询是否有确定的精度,若无,根据实际情况确定精度。
SELECT *
FROM user_tab_cols a
WHERE a.data_type = 'NUMBER'
AND a.data_precision IS NULL;
--对于varchar2类型的,是否有最大长度>1000,根据实际情况确定是否必须。
SELECT *
FROM user_tab_cols a
WHERE a.data_type = 'VARCHAR2'
AND a.char_length > 1000;