【问题标题】:Date less than MySQL query not working日期小于 MySQL 查询不起作用
【发布时间】:2015-05-17 23:24:27
【问题描述】:

我有一张桌子

| adsid | user_id | earned_points | redeem_points | dialer_point | app_point | date                |
+-------+---------+---------------+---------------+--------------+-----------+---------------------+
|     1 |       1 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     3 |       1 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     2 |       1 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     1 |       2 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     3 |       2 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     2 |       2 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     1 |       3 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     3 |       3 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     2 |       3 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     1 |       4 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     3 |       4 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     2 |       4 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     1 |       5 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     3 |       5 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     2 |       5 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     1 |       6 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     3 |       6 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     2 |       6 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     1 |       7 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     3 |       7 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     2 |       7 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     1 |       8 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     3 |       8 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
|     2 |       8 | 25            | 15            | 23           | 2         | 2015-03-15 19:38:43 |
+-------+---------+---------------+---------------+--------------+-----------+---------------------+

以下小于日期查询不起作用

select * from USER_POINTS_MAPPING where 'date' < '2015-03-17';

但是当我这样做时

select * from USER_POINTS_MAPPING where 'date' > '2015-03-17';

它会返回所有行。这是怎么回事?

【问题讨论】:

  • 你说它不起作用是什么意思?您确定它实际上没有工作,但没有返回任何行吗?

标签: mysql


【解决方案1】:

尝试在日期前后不使用 ' 字符(单引号)。在 MySQL 中,要么不使用任何引号,要么在字段名称周围使用这个 `(反引号)。

'date' 表示日期为字符串。而'date' 在作为字符串比较时总是大于'2015-03-17'

虽然

`date`

表示日期作为字段名称

所以正确的查询是:

select * from USER_POINTS_MAPPING where date < '2015-03-17';

【讨论】:

  • 不客气 :-) 你能接受它作为正确答案吗?
【解决方案2】:

专业提示:不要使用 date 作为列名。这是一个保留字。如果您必须使用它,请用反引号而不是引号括起来。

where `data` < '2015-03-17'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多