使用 DBT 更改雪花表数据类型

时间:2021-06-24 05:46:48

标签: snowflake-cloud-data-platform dbt

我们正在使用 DBT 将表添加到雪花。我们创建了一张表格,其模型类似于以下表格:

{{
config(
    materialized='table'
)
}}
select
NAME,
RIGHT(ADDRESS,6) AS PIN
FROM {{ source('PERSON','PERSON_DETAILS')}}

创建表时,NAME 的数据类型在雪花中正确显示为 varchar(50),这是源列的数据类型。但是,PIN 的数据类型是 varchar(16777216),这是雪花中 varchar 的最大大小。有什么方法可以使用 dbt 更改列大小。使用雪花 UI 进行的更改是不够的,因为我们需要 dbt 代码才能将表移动到更高的环境。

1 个答案:

答案 0 :(得分:1)

使用显式 CAST

...
select
    NAME,
    CAST(RIGHT(ADDRESS,6) AS VARCHAR(6)) AS PIN
FROM {{ source('PERSON','PERSON_DETAILS')}}