這些結果如何有意義?我不明白。
不應該例如最後一個查詢返回一個空集,因爲沒有線程與日期> 2010
?它爲什麼會返回2003年的結果?MySQL日期時間查詢的奇怪問題
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中比較日期/時間 – PhD
@Nupul:你可以比較日期時間,就好像它們是MySQL中的字符串 –
@ypercube:我的不好...應該澄清。我的意思是整體比較是基於字符串的(LHS和RHS'<,>') – PhD