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

Spark SQL中可将时间戳转为指定格式的TO_CHAR等价函数是什么

Spark SQL 时间戳转指定格式字符串的等价实现

Spark SQL 中存在和TO_CHAR功能完全等价的转换函数,具体用法如下:

核心函数说明

  • 全版本通用函数:date_format,所有Spark版本均支持,是实现该需求的标准函数
  • 兼容别名:Spark 3.0及以上版本直接支持TO_CHAR作为date_format的别名,几乎可以无缝复用传统数据库的写法

格式符注意事项

Spark的时间格式符和Oracle等传统数据库存在微小差异,不需要写HH24,直接用HH代表24小时制即可,常用格式符对应规则:

  • yyyy:4位年份(如2024)
  • MM:2位月份(01~12,注意大写,小写mm代表分钟,是高频写错的点)
  • dd:2位日期(01~31)
  • HH:24小时制小时(00~23)
  • mm:2位分钟(00~59)
  • ss:2位秒(00~59)

对应需求的使用示例

你给出的两个TO_CHAR写法,在Spark SQL中可以直接替换为以下写法:

-- 对应原SQL:TO_CHAR(SYSTIMESTAMP, "yyyy-MM-dd HH24:mm:ss")
SELECT date_format(current_timestamp(), "yyyy-MM-dd HH:mm:ss");

-- 对应原SQL:TO_CHAR(SYSTIMESTAMP, "yyyyMMddHHmmss")
SELECT date_format(current_timestamp(), "yyyyMMddHHmmss");

-- Spark 3.0+ 可直接使用TO_CHAR
SELECT TO_CHAR(current_timestamp(), "yyyy-MM-dd HH:mm:ss");
SELECT TO_CHAR(current_timestamp(), "yyyyMMddHHmmss");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:39:03