关于报表里的日期格式问题

用的MySQL8数据库,填报报表里,有的日期格式是【年-月-日】就用date   如果填报的是【】就用year  但是如果只需要【年-月】这用什么呢?不想用varchar之类,这样填入数据库后,在分析提取时不方便。有没有什么解决方法,求助一下

FineReport peter212 发布于 2022-4-27 16:20
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-4-27 17:01

填报属性提交的时候直接判断吧

if(len(b3)=7,CONCATENATE(b3,"-01"),b3)   如果业务录入的是年月的日期格式,最后拼一个日统一为1号。。这样你在查询的时候时间参数当入

开始日期   2022-01-01

结束日期   2022-01-31   那么会把整月的数据就查询出来了。因为用户虽然录入提年月,但是你最终入库都让它成为标准的年月日格式了。。所以查询的时候就会方便了。数据格式统一了

最佳回答
0
krystal033Lv7高级互助
发布于2022-4-27 16:22

直接用date  到时候分析的时候去年月就好了

  • peter212 peter212(提问者) 我的意思,填报时,如果数据库里设置成date 那么填报是如果写入【2019-05-06】这样是日期数据,数据库可以接收到,但有的填报的数据是【2018-9】这种没有日的形式,这时数据库就无法接收到这条数据。往往,有一部分年月日齐全的数据会有,但只有年月的数据就漏掉了,数据库收不到这些数据。
    2022-04-27 16:40 
最佳回答
0
就TM你叫夏洛啊Lv6中级互助
发布于2022-4-27 16:24(编辑于 2022-4-27 16:39)

left(date,7)这种就会取填的日期的年月image.png

  • peter212 peter212(提问者) 能否再具体点
    2022-04-27 16:34 
  • 就TM你叫夏洛啊 就TM你叫夏洛啊 回复 peter212(提问者) 我这个方法你保存的字段必须是varchar格式的,date格式不可能保存年-月的格式,然后在报表填报属性里的填报字段选择公式,写入我写的这个就可以,我截一个图给你
    2022-04-27 16:38 
最佳回答
0
数码天空Lv4初级互助
发布于2022-4-27 17:29

你可以在表里统一设置year、month、day三个整型字段,不论报表里填什么,最后都需要拆分成年、月、日来保存。

  • 5关注人数
  • 349浏览人数
  • 最后回答于:2022-4-27 17:29
    请选择关闭问题的原因
    确定 取消
    返回顶部