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

BigQuery使用DATE_FORMAT函数%D格式时报错,求查询解析结果

BigQuery中使用DATE_FORMAT搭配'%D'报错的解决办法

问题说明

在BigQuery控制台执行含DATE_FORMAT函数并使用'%D'日期格式的查询时会报错,原因是BigQuery不支持'%D'这个格式说明符。

替代实现方案

如果想要实现类似'%D'(带序数后缀的日期,如1st、2nd、3rd)的效果,可以通过组合函数手动处理:

示例查询

-- 获取带序数后缀的日期
SELECT CONCAT(
  EXTRACT(DAY FROM CURRENT_DATE()),
  CASE 
    WHEN EXTRACT(DAY FROM CURRENT_DATE()) IN (1, 21, 31) THEN 'st'
    WHEN EXTRACT(DAY FROM CURRENT_DATE()) IN (2, 22) THEN 'nd'
    WHEN EXTRACT(DAY FROM CURRENT_DATE()) IN (3, 23) THEN 'rd'
    ELSE 'th'
  END
) AS formatted_day

补充说明

BigQuery中推荐使用FORMAT_DATE函数替代DATE_FORMAT(后者为兼容其他SQL引擎的函数),其支持的格式符不包含'%D',因此需要通过上述CASE逻辑来实现序数后缀的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:32:35