Query below lists all columns in views in Snowflake database
Query
select t.table_schema as schema_name,
t.table_name as view_name,
c.column_name,
c.data_type,
case when c.character_maximum_length is not null
then c.character_maximum_length
else c.numeric_precision end as max_length,
coalesce(c.numeric_scale, null) as num_precision,
is_nullable
from information_schema.tables t
left join information_schema.columns c
on t.table_schema = c.table_schema
and t.table_name = c.table_name
where table_type = 'VIEW'
and t.table_schema != 'INFORMATION_SCHEMA'
order by schema_name,
view_name;
Columns
- schema_name - view owner, schema name
- view_name - view name
- column_name - column name
- data_type - column datatype
- max_length - for text type it is number of possible characters and for numeric type this is number of digits
- num_precision - for number type it is number of digits in fractional part, else null
- is_nullable - flag indicating if column allows null value
Rows
- One row represents one column in a specific view in a database
- Scope of rows: all columns in views in Snowflake database
- Ordered by table schema, view name,