开发者社区 > 数据库 > 数据仓库 > 正文

adb中我用str_to_date, 报错[HY000][1815] [40040, 2023041

adb中我用str_to_date, 报错[HY000][1815] [40040, 2023041817025817201617615103453396006] Query execution error: : Invalid format: "2018-12-7" is too short str_to_date(tdate,'%Y-%m-%d %H:%i:%s') 怎么办?不是说格式有错误, 就置为null吗?

展开
收起
真的很搞笑 2023-04-27 08:18:47 382 0
3 条回答
写回答
取消 提交回答
  • 查询一直不报错,
    插入 常量可以插入成功,变量不可以

    replace INTO dwd.mdc_psn_bsc_infmt (
    id_crd_no,
    bth_dt
    )
    WITH t5 as (
    SELECT '13022119930229483X' as id_crd_no
    ,concat_ws('-',SUBSTR('13022119930229483X',7,4),SUBSTR('13022119930229483X',11,2),SUBSTR('13022119930229483X',13,2)) as date_info2
    )
    SELECT a.id_crd_no AS id_crd_no
    ,case when STR_TO_DATE('1993-02-29', '%Y-%m-%d') is null then null else STR_TO_DATE('1993-02-29', '%Y-%m-%d') end AS bth_dt --常量可以成功
    -- ,case when STR_TO_DATE(a.date_info2, '%Y-%m-%d') is null then null else STR_TO_DATE(a.date_info2, '%Y-%m-%d') end AS bth_dt --变量成功不了
    FROM t5 a

    2024-09-03 15:03:11
    赞同 展开评论 打赏
  • 使用str_to_date(purchaseDate, '%Y-%m-%d %H:%i:%s')函数转换日期出现"2018-12-7" is too short的报错,这是因为待转换的日期字符串格式与指定的格式参数不匹配所致。应该是日期字符串中月份和日份的前导零缺失,无法与格式参数"%Y-%m-%d %H:%i:%s"中定义的日期格式相对应。正确的日期字符串应该是"2018-12-07",其中月份和日份都应该有前导零,此回答整理自钉群“云数据仓库ADB-开发者群”

    2023-04-27 17:32:13
    赞同 展开评论 打赏
  • 函数str_to_date的格式参数中,%m表示月份,如果日期中的月份只有1位数,需要在前面添加0来补足两位数。所以,出现"Invalid format: '2018-12-7'"的错误是因为日期中的月份只有1位数。

    为了解决该问题,您可以在日期的月份前面添加0来补足两位数,例如'2018-12-07'。或者,您可以使用MySQL的DATE_FORMAT函数将日期格式化为'%Y-%m-%d',然后再使用str_to_date函数进行转换,例如:

    str_to_date(DATE_FORMAT(tdate, '%Y-%m-%d'), '%Y-%m-%d')
    

    如果格式错误,确实可以将结果置为NULL,但这需要在SQL语句中使用IF函数或CASE语句显式地处理,例如:

    SELECT IF(str_to_date('2018-12-7', '%Y-%m-%d') IS NULL, NULL, str_to_date('2018-12-7', '%Y-%m-%d'))
    

    或者:

    SELECT CASE WHEN str_to_date('2018-12-7', '%Y-%m-%d') IS NULL THEN NULL ELSE str_to_date('2018-12-7', '%Y-%m-%d') END
    
    2023-04-27 10:25:15
    赞同 展开评论 打赏

阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。

相关产品

  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 相关电子书

    更多
    消电行业数据中台解决方案白皮书 立即下载
    (终极版)2020阿里云金融数据中台报告 立即下载
    2020年中国乳制品行业数据中台研究报告 立即下载