EAS:用脚本怎样获取年、月、日原创
51人赞赏了该文章
184次浏览
未经作者许可,禁止转载编辑于2024年12月13日 09:37:15
首编于:2024年12月3日
关键字:日期、日期格式、日期的年月日
前言:
本文主要探讨了日期格式处理这一典型问题。例如在处理日期格式相关问题时,在将包含年月日时分秒的日期格式转换为仅含单独的年、月、日、或含年月日格式时,通过实践发现常规方法如to_date
和substring
等在 EAS 查询分析器中无法满足需求。进而提出了一种有效的解决方案,即分别获取年、月、日部分并进行拼接,其中年和月可直接使用year
和month
函数获取,日部分由于day
函数报错,采用left(left(fcreatetime,10),2)
的方式代替。
补充:有些版本直接用这种方式可以成功获取: TO_CHAR(fbizdate,'YYYY-MM-DD')
问题说明:
比如一个日期格式的值为2018-11-15 10:40:51 ,我要得到2018-11-15,在我们的EAS查询分析器中,发现用to_date(fcreatetime,'yyyy-mm-dd') 或者 substring(fcreatetime,0,10) 等都得不到我们想要的格式,如下图:
原字段数据类型:
原字段值:
用substring(fcreatetime,0,10)取出来的效果:
用left的效果与substring 一样:同样不是我们需要的格式
解决方案:用单独取年、月、日的方式再拼接起来
这里用year (日期字段名)和month(日期字段名)函数可以直接取出来年和月的部份, 但是日的部份用day函数报错,所以用 left(left(fcreatetime,10),2) 代替
参考脚本:
select top 1 year(fcreatetime) ||'-'|| month(fcreatetime)||'-'||left(left(fcreatetime,10),2) from t_sd_saleorder
附:BOS二开案例及常见问题的解决方合集:https://vip.kingdee.com/link/s/lnEvP
赞 51
51人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!