繁体   English   中英

年/月/周至今 SQL 查询

[英]Year/Month/Week to date SQL query

我目前正在开发一个平台,我需要 3 个 SQL 查询来返回迄今为止年/月/周之间的所有记录。

查询必须在没有硬编码日期的情况下动态工作,如果我应该将它们分成 3 个问题,请耐心等待,我认为它们非常相关,这就是我将所有 3 个问题都放在这里的原因:)

1:年初至今

我根据这个关于Year To Date的问题尝试了这个SQL查询,但我收到一个错误:

调用本机函数“DATEDIFF”时的参数计数不正确

SELECT coins_daily_date, coins_daily_high, coins_daily_low, coins_daily_close, coins_daily_volume
FROM coins_daily
WHERE coins_daily_date BETWEEN DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0) AND GETDATE()
ORDER BY coins_daily_date ASC

2:本月至今

我用月函数尝试了不同的东西,但无法弄清楚如何实现/构建正确的月至今日 SQL 查询。

3:本周至今

老实说,我不知道从哪里开始,这个。

工作正常回到 1 年

SELECT coins_daily_date, coins_daily_high, coins_daily_low, coins_daily_close, coins_daily_volume
FROM coins_daily
WHERE coins_daily_date >= DATE_ADD(NOW(),INTERVAL -1 YEAR
ORDER BY coins_daily_date ASC

我希望有人可以帮助或指出我正确的方向:)

此致!

GETDATE() 用于 MsSQL。 使用 NOW() 表示当前日期时间或 curdate() 表示当前日期。

年初至今:

SELECT coins_daily_date, coins_daily_high, coins_daily_low, coins_daily_close, 
coins_daily_volume
FROM coins_daily
WHERE YEAR(coins_daily_date) = YEAR(NOW())
AND coins_daily_date <= NOW()
ORDER BY coins_daily_date ASC

对于本月至今:

SELECT coins_daily_date, coins_daily_high, coins_daily_low, coins_daily_close, 
coins_daily_volume
FROM coins_daily
WHERE YEAR(coins_daily_date) = YEAR(NOW())
AND MONTH(coins_daily_date) = MONTH(NOW())
AND coins_daily_date <= NOW()
ORDER BY coins_daily_date ASC

对于本周至今:

SELECT coins_daily_date, coins_daily_high, coins_daily_low, coins_daily_close, 
coins_daily_volume
FROM coins_daily
WHERE YEAR(coins_daily_date) = YEAR(NOW())
AND WEEK(coins_daily_date) = WEEK(NOW())
AND coins_daily_date <= NOW()
ORDER BY coins_daily_date ASC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM