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

Snowflake中MMfGetPropValChar函数创建报SQL编译语法错误问题

存在的语法问题

  • Snowflake 原生SQL UDF的$$包裹的逻辑块内不需要写SELECT查询和单独的RETURN语句,直接写要返回的表达式即可
  • 参数引用不需要加${}包裹,直接写参数名propvalue即可
  • CASE 语句存在多余的右括号:第二个WHEN条件末尾多写了),CASE整体结束前也多了多余的闭合括号
  • ELSE分支返回current_timestamp是时间戳类型,和函数声明的返回值varchar(255)类型不匹配,需要做类型转换

修复后可直接运行的代码

create or replace function MMfGetPropValChar(propvalue varbinary(518))
RETURNS varchar(255)
as
$$
CASE
    WHEN substr(propvalue, 1, 3) = '0x00E700' THEN CAST(substr(propvalue, 9, 510) As Varchar(255))
    WHEN substr(propvalue, 1, 3) = '0x01E700' THEN CAST(substr(propvalue, 9, CAST(substr(propvalue, 6, 1) as integer)) As Varchar(255))
    ELSE CAST(current_timestamp AS VARCHAR(255))
END
$$;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:57:03