我无法格式化YEARWEEK(date_created)函数的SQL输出。
我想将其格式化为: week04,12月或类似的人类可以轻松处理。
这里的数据以:
的形式返回SELECT
DATE(date_created) as date_,
YEARWEEK(date_created) as week_
...
结果集:
date_ ---------------------------------------- week_
2017-12-30 -------------------------------- 201752
2018-01-06 -------------------------------- 201753
2018-01-10 -------------------------------- 201801
为什么2018-01-06(2018年1月6日)被视为2017年的第53周?
答案 0 :(得分:1)
使用DATE_FORMAT
:
SELECT
'2018-02-01' AS date_,
CONCAT('week', DATE_FORMAT('2018-02-01', '%V, %M')) AS week_
FROM dual;
答案 1 :(得分:1)
使用DATE_FORMAT
SELECT '2018-01-06' AS date_, CONCAT('Week',DATE_FORMAT('2018-01-06','%u, %M ')) FROM DUAL
答案 2 :(得分:0)
YEARWEEK
报告ISO周。但你想要的是像#12; 12月的第四周和#34;代替。这仅仅是整数除法;第1天到第7天是第一周,第8天到第14天是第二周等等。
select
year(date_created) as year,
monthname(date_created) as month,
day(date_created) DIV 7 + 1 as week
from mytable;