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

SQR日期格式转换问题:MM-DD-YYYY转YYMMDD

解决SQR中MM-DD-YYYY转YYMMDD日期格式的问题

你完全说对了!你遇到的错误根源就是对STRTODATE函数的用法理解偏差——这个函数的第二个参数是输入字符串的格式掩码,而不是你期望的输出格式。你传入YYMMDD作为掩码,但实际输入是MM-DD-YYYY格式,SQR自然无法解析,所以抛出了无效数据的错误。

要完成这个转换,你需要两步走:先把原始字符串转成SQR的日期数值类型,再把日期数值转成目标格式的字符串。具体用到两个函数:STRTODATE和DATETOSTR。

具体实现示例

-- 假设原始日期字符串是MM-DD-YYYY格式
let $original_date = '03-09-2018'

-- 第一步:用STRTODATE将字符串转为日期数值,指定正确的输入格式
let #date_num = strtodate($original_date, 'MM-DD-YYYY')

-- 第二步:用DATETOSTR将日期数值转为目标格式的字符串
let $target_date = datetostr(#date_num, 'YYMMDD')

-- 验证输出(会打印180309)
show $target_date

简化写法(无需中间变量)

如果不想用中间变量存储日期数值,可以直接嵌套调用两个函数:

let $target_date = datetostr(strtodate('03-09-2018', 'MM-DD-YYYY'), 'YYMMDD')

关键说明

  • STRTODATE(input_str, input_mask):负责将符合input_mask格式的字符串,转换成SQR内部使用的日期数值(这个数值是从某个基准日期开始的天数,对用户透明)。
  • DATETOSTR(date_num, output_mask):负责将日期数值,按照output_mask的格式转换成字符串,这里YYMMDD就是你需要的输出格式(两位年份+两位月份+两位日期)。

这样处理后,就能顺利完成MM-DD-YYYY到YYMMDD的格式转换了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:03:56