web-dev-qa-db-ja.com

特定の日付の後のMySQL選択クエリ

Mysqlクエリを使用して特定の日付の後にレコードをプルしようとしていますが、フィールドタイプはデータベースの日付であり、クエリは

SELECT * FROM tickets WHERE created_on > 26-08-2011

しかし、それは機能しておらず、その日付より前にすべてを表示しています

ありがとう

17
Henry

使用している日付は文字列であるため、引用符で囲む必要があります。また、形式は間違った方法です:

SELECT * FROM tickets WHERE created_on > '2011-08-26'

詳細については、 MySQL docs を参照してください。特に、最初の行に注意してください。

DATE値の形式は「YYYY-MM-DD」です。標準SQLでは、他の形式は許可されていません。

46
James Allardice

日付はyyyy-mm-ddで定義されているため、日付は2011-08-26として使用する必要があります。この形式で日付を使用すると、数値が増分単位で配置されるため、並べ替えに最適です。文字列値には引用符を使用する必要があります。JamesAllardiceの投稿を参照してください。

1
Jordi

最良の結果を得るには、日付に引用符を使用し、日付をyyyy-mm-dd形式で書き込んでください。 「2011-08-26」

0
alresave