首页 新闻 搜索 专区 学院

SQLITE 根据日期取所在周

0
悬赏园豆:10 [已解决问题] 解决于 2016-07-05 08:53

sqlite

select strftime('%W','2016-07-04','weekday 1')

得到的是 27

excel WEEKNUM函数得到的是28

请问怎么修改sqlite SQL得到的也是28

E024的主页 E024 | 初学一级 | 园豆:17
提问于:2016-07-04 10:36
< >
分享
最佳答案
0

这个取决于'weekday 1' 这个参数
它声明了你把星期几当作每周的最后一天 (也就是参数的下一天作为每周的起始)

weekday 1就是 周二作为每周的第一天计算。

excel默认是以周天作为每周第一天  并且每年的第一周返回1(sqlite为0)

换而言之 想到达到同样的算法 你需要:

select strftime('%W','2016-07-04','weekday 6') + 1

收获园豆:5
癫ω倒④ゞ | 菜鸟二级 |园豆:262 | 2016-07-04 11:45
其他回答(1)
0

这只是基数的问题,

%W week of year 00-53

基数从0开始,返回的当然是27,你喜欢基数从1开始,就自己加1呗。

这是程序员两个派别之争,0派和1派,哈哈。 

收获园豆:5
爱编程的大叔 | 园豆:30698 (高人七级) | 2016-07-04 12:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册