2016-05-08 6 views
0

「日付間」に基づいてmysqlテーブルからデータを選択するために使用できるmysqlの構文は何ですか? 次のような形式の日付のみを含む列があります。08.05.2016 18:09:31(dd.mm.yyyy hh.mm.ss)MySQL:日付の選択dd.mm.yyyy hh.mm.ss

+1

です。列の実際のデータがその形式になっていますか?この列はDateTime列かVARCHARですか? – RiggsFolly

+1

ネイティブの 'date' /' datetime'型を使用してデータ構造と日付/時刻を修正する必要があります。 –

答えて

0

データベース設計に早期のエラーがあったとします。日付と時刻をvarcharなどの文字列型に変換します。

だから、その場合には、あなたは正しいMYSQLのDateTimeに文字列を変換する必要があり、その後、あなたはBETWEEN構文

常に適切なMYSQLで日付または時刻または日時値を格納今後の参考のため
SELECT * FROM TABLE 
WHERE STR_TO_DATE(sillyDateColumn, '%d.%m.%Y %h:%i:s') 
      BETWEEN '2016-01-01 00:00:01' AND '2016-01-02 00:00:01' 

を使用することができますDATETIMEなどのデータ型

これらの値がシステム上で異なって表示されることをユーザーが希望する場合は、ロケール固有のフォーマットに日付をフォーマットしてください。私は間違っているとこれらの日付は、DATETIME型の列にある場合

その後、あなたがする必要があるすべては、DateTime列の標準形式ではありません

SELECT * FROM TABLE 
WHERE DateColumn BETWEEN '2016-01-01 00:00:01' AND '2016-01-02 00:00:01' 
+0

私のアプリケーションは、日付をvarcharのような列の型に入れます。私の日付形式は08.05.2016 18:09:31のようなものです。このコードを使用する場合:SELECT * FROM 'tichete' data_creare> = '01.04.2016 21:31:48'およびdata_creare <= '05.05.2016 21:58:29'; okです。私はその値の間にデータを取得しますが、もし私が置き換えてdata_creare <= '05.05.2016 21:58:29'; withとdata_creare <= '31.05.2016 2222:22';例えば、私はテーブルからすべての結果を得る。 05.05.2016 21:58:29は、行に存在する値です – rony2006

+0

実際に私が提案した最初の例を試しましたか? – RiggsFolly

関連する問題