You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake视图添加TIMESTAMP_TZ时间戳列语法报错咨询

错误原因
  • 不符合Snowflake SELECT语法规范:不能直接在列别名后追加数据类型声明,你写的NULL AS Ingestion_Time TIMESTAMP_TZ属于非法语法
  • NULL默认没有明确数据类型,要生成指定类型的空值列,需要先对NULL做类型转换,再指定别名
修正后的SQL语句
CREATE OR REPLACE VIEW DATA_LAKE.DATA_ANALYTICS.RISK_PREDICT_DR_LATEST COPY GRANTS AS(
SELECT 
    ACT_ID,
    PROBABILITY_FRAUD,
    PREDICTON_TIME AS PREDICTION_TIME,
    FRAUD_EXPLANATION,
    SAFE_EXPLANATION,
    RISK_FLAG,
    NULL::TIMESTAMP_TZ AS Ingestion_Time
FROM DATA_LAKE.DATA_ANALYTICS.RISK_PREDICT_DR_AUD tab1
QUALIFY ROW_NUMBER() OVER(PARTITION BY tab1.ACT_ID ORDER BY PREDICTON_TIME DESC)=1
);
补充说明
  • 除了用Snowflake专属的::类型转换运算符,也可以用标准SQL的CAST写法:CAST(NULL AS TIMESTAMP_TZ) AS Ingestion_Time,效果完全一致
  • 视图本身不会存储数据,这个新增的列在查询时会统一返回带时区的时间戳类型的空值,符合你的需求

内容的提问来源于stack exchange,提问作者jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:15:10