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

SAP HANA BTP-SQL字符串转Timestamp报错,求正确转换脚本

SAP HANA BTP-SQL:非标准字符串日期转Timestamp解决方案

问题核心

你的CREATED_DATETIME字段格式为DD-MM-YYYY HH:MM:SS(日-月-年,日期与时间之间有两个空格),之前的报错原因如下:

  • 使用TO_TIMESTAMP/TO_DATE时,格式掩码YYYY-MM-DD HH:MM:SS与输入字符串格式不匹配,导致[303]无效值错误
  • STR_TO_DATE、UNIX_TIMESTAMP是MySQL专属函数,SAP HANA不支持,因此报[328]函数不存在错误

正确转换脚本

1. 直接转换为TIMESTAMP类型

使用匹配原字符串格式的掩码解析,HANA中分钟用MI表示,24小时制用HH24:

SELECT 
    TO_TIMESTAMP(CREATED_DATETIME, 'DD-MM-YYYY HH24:MI:SS') AS converted_timestamp
FROM ORDER_TABLE;

2. 转换为指定格式的字符串(YYYY-MM-DD HH:MM:SS)

如果需要输出字符串格式的目标时间,先解析为TIMESTAMP再格式化:

SELECT 
    TO_CHAR(
        TO_TIMESTAMP(CREATED_DATETIME, 'DD-MM-YYYY HH24:MI:SS'), 
        'YYYY-MM-DD HH24:MI:SS'
    ) AS formatted_timestamp_str
FROM ORDER_TABLE;

3. 仅保留日期部分(时间置为00:00:00,匹配你的示例预期)

通过TRUNC函数截断时间部分,再格式化:

SELECT 
    TO_CHAR(
        TRUNC(TO_TIMESTAMP(CREATED_DATETIME, 'DD-MM-YYYY HH24:MI:SS')), 
        'YYYY-MM-DD HH24:MI:SS'
    ) AS date_only_timestamp_str
FROM ORDER_TABLE;

关键格式说明

SAP HANA日期时间格式掩码的核心规则:

  • DD:两位数日期,MM:两位数月份,YYYY:四位数年份
  • HH24:24小时制小时,MI:分钟,SS:秒

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:30:33