【发布时间】:2011-08-14 18:45:26
【问题描述】:
这些结果有何意义?我不明白。
例如,由于没有日期为> 2010 的线程,最后一个查询不应该返回一个空集吗?为什么返回 2003 年的结果?
mysql> SELECT *
FROM thread
WHERE newsgroup_id = '64654'
AND 'thread_date' < '2010-09-10 21:43:05'
LIMIT 1;
空集(0.00 秒)
mysql> SELECT *
FROM thread
WHERE newsgroup_id = '64654'
AND 'thread_date' < '2000-09-10 21:43:05'
LIMIT 1;
空集(0.00 秒)
mysql> SELECT *
FROM thread
WHERE newsgroup_id = '64654'
AND 'thread_date' > '2000-09-10 21:43:05'
LIMIT 1;
+--------------+-----------+-----------+----------+---------------------+---------------------+---------------------------------+-------------------------+
| newsgroup_id | thread_id | postcount | hash | thread_date | thread_date_last | thread_title | title_has_valid_charset |
+--------------+-----------+-----------+----------+---------------------+---------------------+---------------------------------+-------------------------+
| 64654 | 1 | 0 | O2gvcPRl | 2003-06-06 22:51:24 | 0000-00-00 00:00:00 | Vendo fotodigit 2.1 megapixel | 0 |
+--------------+-----------+-----------+----------+---------------------+---------------------+---------------------------------+-------------------------+
集合中的 1 行(0.00 秒)
mysql> SELECT *
FROM thread
WHERE newsgroup_id = '64654'
AND 'thread_date' > '2010-09-10 21:43:05'
LIMIT 1;
+--------------+-----------+-----------+----------+---------------------+---------------------+---------------------------------+-------------------------+
| newsgroup_id | thread_id | postcount | hash | thread_date | thread_date_last | thread_title | title_has_valid_charset |
+--------------+-----------+-----------+----------+---------------------+---------------------+---------------------------------+-------------------------+
| 64654 | 1 | 0 | O2gvcPRl | 2003-06-06 22:51:24 | 0000-00-00 00:00:00 | Vendo fotodigit 2.1 megapixel | 0 |
+--------------+-----------+-----------+----------+---------------------+---------------------+---------------------------------+-------------------------+
集合中的 1 行(0.00 秒)
【问题讨论】:
-
如果我是正确的,你不能这样做。这只是一个 ASCII 比较(基于文本),这就是为什么你会得到这些奇怪但“正确”的比较。查看如何在 mysql 中比较日期/时间
-
@Nupul: 你可以像 MySQL 中的字符串一样比较日期时间
-
@ypercube:我的错……应该澄清一下。我的意思是整体比较是基于字符串的(
<,>的 LHS 和 RHS)
标签: mysql