SQL - 选择超过 1 天的条目。错误 #1305 函数不存在

发布于 2024-11-16 03:41:17 字数 530 浏览 0 评论 0原文

对于 MySQL 中通过 PHPMyAdmin 的基本 SQL 命令,我想选择 1 天以上的项目。我收到一个基本错误,指出存在 SQL 语法错误,但无法判断我在这里做错了什么:

命令:

select *
from table_name
where column_name < Date_Add(day, -1, GetDate())
and user_id = 1
and column_name <> '0000-00-00 00:00:00'

错误:

#1064 - You have an error in your SQL syntax; check the manual for the right syntax to use near '-1, GetDate()) and user_id = 1 and column_name &lt;&gt; '0000-00-00 00:00:00' LIMI' at line 3

有任何线索吗?谢谢!!

for a basic SQL command via PHPMyAdmin in MySQL I want to select items more than 1 day old. I'm getting a basic error saying that there's a SQL syntax error, but can't tell what I'm doing wrong here:

COMMAND:

select *
from table_name
where column_name < Date_Add(day, -1, GetDate())
and user_id = 1
and column_name <> '0000-00-00 00:00:00'

ERROR:

#1064 - You have an error in your SQL syntax; check the manual for the right syntax to use near '-1, GetDate()) and user_id = 1 and column_name <> '0000-00-00 00:00:00' LIMI' at line 3

Any clues? Thx!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

回眸一笑 2024-11-23 03:41:17

我想这里的语法是DATE_ADD。

好的,这里来自 5.0 参考指南:

DATE_ADD() 函数及其
同义词 ADDDATE() 允许您添加或
减去所选的间隔
日期、日期函数或日期常数。
DATE_SUB() 和 SUBDATE() 工作在
同样的方式,但指定的间隔是
减去。 (如果间隔是
negatvie DATE_SUB() 成功
积极)。

mysql> SELECT NOW(), DATE_ADD(NOW(), INTERVAL 1 MONTH) \G
*************************** 1. row ***************************
                            NOW(): 2008-09-25 11:43:29
DATE_ADD(NOW(), INTERVAL 1 MONTH): 2008-10-25 11:43:29
1 row in set (0.00 sec)

尝试使用 NOW() 来解决错误。

I was thinking the syntax here is DATE_ADD.

Ok here is from the 5.0 reference guide:

The DATE_ADD() function and its
synonym ADDDATE() allow you to add or
subtract an interval to the selected
date, date function or date constant.
DATE_SUB() and SUBDATE() work in the
same way but the interval specified is
subtracted. (If the interval was
negatvie DATE_SUB() makes it
positive).

mysql> SELECT NOW(), DATE_ADD(NOW(), INTERVAL 1 MONTH) \G
*************************** 1. row ***************************
                            NOW(): 2008-09-25 11:43:29
DATE_ADD(NOW(), INTERVAL 1 MONTH): 2008-10-25 11:43:29
1 row in set (0.00 sec)

Try using NOW() for the error.

心病无药医 2024-11-23 03:41:17

一些引擎(即 tsql)使用 DateAdd()...MySql 使用 Date_Add() - 你缺少一个下划线。

尝试

Date_Add(CurDate(), INTERVAL -1 DAY)

Some engines (i.e. tsql) use DateAdd()... MySql uses Date_Add() - your missing an underscore.

Try

Date_Add(CurDate(), INTERVAL -1 DAY)
彼岸花似海 2024-11-23 03:41:17

我对上面 NgM 的回复投了赞成票,支持他使用 NOW() 的想法 - 这是有效的最终版本:

select *
from table_name
where column_name < DATE_ADD(NOW(), INTERVAL -1 DAY)
and user_id = 1
and column_name <> '0000-00-00 00:00:00'

I voted up NgM's response ABOVE for his idea to use NOW() - here's the final version that worked:

select *
from table_name
where column_name < DATE_ADD(NOW(), INTERVAL -1 DAY)
and user_id = 1
and column_name <> '0000-00-00 00:00:00'
澜川若宁 2024-11-23 03:41:17

是不是

Date_Add(....)

还是

AddDate(...)

Isnt it

Date_Add(....)

or

AddDate(...)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文