gpt4 book ai didi

sql - 需要图书馆数据库中最近 30 天的数据

转载 作者:行者123 更新时间:2023-12-04 10:46:15 24 4
gpt4 key购买 nike

我需要过去 30 天内添加到此数据库中的杂志。我尝试了以下方法:

SELECT A.TITLE, A.EDITION, B.DONATEDBY, B.DATE_ADDED
FROM LIBRARY A
JOIN LIB_COPIES B ON A.IDNO=B.IDNO
WHERE A.TYPE LIKE '%Magazine%'
AND B.DONATEDBY LIKE '%State%'
AND B.DATE_ADDED>CURRENT_DATE-31
ORDER BY B.DATE_ADDED

它不会从今天的日期获得任何条目。

我试过了
DATEDIFF(dateColumn, CURRENT_TIMESTAMP) BETWEEN 0 AND 30
AND >= DATEADD(day, -30, GETDATE())

我是新手,如果格式错误,请原谅我。我把 B.Date_added因为那是我的专栏,我觉得应该放在那里。

请帮我!

最佳答案

假设您使用的是 MySQL,CURRENT_DATE-31不会从当前日期减去 31 天。相反,它会转换 CURRENT_DATE为整数并减去 31。

select CURRENT_DATE, CURRENT_DATE - 31;

CURRENT_DATE CURRENT_DATE - 31
2020-01-10 20200079

相反,使用 date_sub(current_date, interval 31 day) .
select CURRENT_DATE, date_sub(CURRENT_DATE, interval 31 day);

CURRENT_DATE date_sub(CURRENT_DATE, interval 31 day)
2020-01-10 2019-12-10

或者,如果您的意思是 1 个月,请使用 interval 1 month .
DATEDIFF(dateColumn,CURRENT_TIMESTAMP) BETWEEN 0 AND 30不起作用,因为当 dateColumn在过去,差异将是负数。
select DATEDIFF("2020-01-01",current_date);

DATEDIFF("2020-01-01",current_date)
-9

相反,颠倒日期的顺序。
select DATEDIFF(current_date, "2020-01-01")

DATEDIFF(current_date, "2020-01-01")
9

关于sql - 需要图书馆数据库中最近 30 天的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59690007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com