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

如何在Databricks SQL中创建判断当月首日的自定义函数?

Databricks SQL 实现判断当月第一天的函数

原代码存在的问题

  • 未定义输入参数:函数没有接收日期参数,直接使用date变量会引发变量未找到的错误
  • 返回类型写法错误:Databricks SQL中字符串类型应写为STRING,而非string(20)
  • 数据类型不匹配:DAY()函数返回整数类型,不能与字符串'01'比较,需直接和整数1对比
  • 语法不完整:缺少END闭合BEGIN块,RETURN语句末尾缺少分号

修正后的函数代码

CREATE TEMPORARY FUNCTION is_first_day_of_month(input_date DATE)
RETURNS STRING
DETERMINISTIC
BEGIN
  IF DAY(input_date) <> 1 THEN
    RETURN 'NO';
  ELSE
    RETURN 'YES';
  END IF;
END;

测试示例

-- 测试当月第一天,返回 YES
SELECT is_first_day_of_month('2024-05-01');

-- 测试非当月第一天,返回 NO
SELECT is_first_day_of_month('2024-05-15');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 10:37:02