In Oracle these two systems are very important, especially when doing dynamic SQL based on these two views to do the query, and then to do the corresponding actions: such as field length, non-null constraints. But what is the difference between these two views?
By looking at the metadata in Oracle, you can clearly see the difference between them:
reate or replace view sys.user_tab_columns as
Select table_name, COLUMN_NAME, Data_type, Data_type_mod, Data_type_owner, Data_length, Data_precision, DATA_SCALE, NULLABLE, column_id, Default_length, Data_default, num_distinct, Low_value, High_value, DENSITY, Num_nulls, NU M_buckets, last_analyzed, Sample_size, Character_set_name, Char_col_decl_length, Global_stats, USER_STATS, AVG _col_len, Char_length, char_used, V80_fmt_image, data_upgraded, histogram from user_tab_cols where HIDDEN_COLUMN = ' NO ' after an Oracle has indexed the table, a field is automatically added to the list, but this field is identified with Yes in the Hidden_column in User_tab_cols.
User_tab_cols and User_tab_columns Differences in Oracle