ITPub博客

首页 > 数据库 > > SQLite如何将日期格式化为季度

SQLite如何将日期格式化为季度

作者:u_9ff4c058a0e0 时间:2022-03-16 15:22:11 0 删除 编辑

说明:sqlite不支持将日期格式化为季度,需要先格式化为月份,再将月份转化为季度

示例语句:
SELECT FLOOR(STRFTIME('%m',A."订购日期")/3.0+0.7) AS 季度
,SUM(B."单价"*B."数量") 销售额
FROM "订单" A
LEFT JOIN "订单明细" B ON A."订单ID" = B."订单ID"
GROUP BY FLOOR(STRFTIME('%m',A."订购日期")/3.0+0.7)


结果:


解释 FLOOR(STRFTIME('%m',A."订购日期")/3.0+0.7):

1)STRFTIME('%m',A."订购日期") -- 将日期格式化为月份


2)STRFTIME('%m',A."订购日期")/3.0 --用月份除以3.0

(*除以3.0与除以3不同,除以3的结果是四舍五入为整数,除以3.0的结果为小数、且结果如果为整数则用0补充一位小数)


3)STRFTIME('%m',A."订购日期")/3.0+0.7 -- +0.7是为了将第2)步的结果放大后再向下取整

在第2)步的结果中,3、6、9、12这四个月份除以3.0的结果就可以当作季度了,而其他月份则还需要进一步处理。以1月和2月为例:1月第2)步的结果为0.3333333333,0.33+0.7=1.03,1.03再向下取整为1即可作为季度的值;2月第2)步的结果为0.666666666,0.66+0.7=1.36,1.36向下取整也是1,也可以作为季度的值


4)FLOOR(STRFTIME('%m',A."订购日期")/3.0+0.7) --向下取整

5)完成

来源 https://zhuanlan.zhihu.com/p/468490440

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69999831/viewspace-3129560/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-02-11

  • 博文量
    1828
  • 访问量
    20541