我有一个时间戳列。假设我想获得年份中的日期数是< 50
1月1日= 1 且 12月31日= 366
因此该功能不是针对特定年份的,我希望在一天之间获得结果,例如:所有年份都是50和100。
示例
时间戳
所以检索DAY< 50将返回结果:1和2但不是3。
答案 0 :(得分:1)
您可以对DAYOFYEAR()
子句中的timestamp列使用WHERE
函数:
SELECT *
FROM tbl
WHERE DAYOFYEAR(timestamp_col) < 50
由于第50天发生在2月29日之前,因此不会有任何闰年考虑因素。
答案 1 :(得分:0)
试试这个:
SELECT * FROM TableA
WHERE DAYOFYEAR(DateCol) < 50 -- for < 50
SELECT * FROM TableA
WHERE DAYOFYEAR(DateCol) between 50 and 100 --between a day range e.g. 50 and 100
答案 2 :(得分:0)
您可以使用:
SELECT TO_DAYS(yourdate) - TO_DAYS(CONCAT(YEAR(yourdate), '-01-01')) + 1