代码之家  ›  专栏  ›  技术社区  ›  ii iml0sto1

年/月/周至今SQL查询

  •  -2
  • ii iml0sto1  · 技术社区  · 6 年前

    1:年初至今

    我根据 this

    对本机函数“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:本月至今

    我尝试了使用month函数的不同方法,但无法确定如何实现/构建正确的month-to-date SQL查询。

    3:本周迄今

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

    一年前还不错

    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
    

    我希望有人能帮我或给我指出正确的方向:)

    1 回复  |  直到 6 年前
        1
  •  2
  •   DanB    6 年前

    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