0

今日行われたすべての注文を取得するための mysql クエリを作成しようとしています。しかし、私のデータベースは UNIX タイムスタンプを使用して日付を保存しているため、これには多くの問題があります。

次のようにして、これをより人間が読める日付に変換できましたが、WHERE 句は機能しません。

SELECT DATE_FORMAT(FROM_UNIXTIME(`entryDate`), '%Y-%m-%d') as entryDate, id FROM customers_orders WHERE entryDate = CURDATE()

これはゼロの結果を返しますが、その理由はわかりません。WHERE なしでクエリを実行すると、結果が得られます。

SQL フィドルを作成しました: http://sqlfiddle.com/#!2/93f02/13 (ただし、現在オフラインです...)

私も試しました。

SELECT CURDATE()
// Output: 2013-10-30 (own database)
// Output: October, 30 2013 00:00:00+0000 (SQLfiddle)

SQLfiddle で異なる結果が返される理由はわかりませんが、それは次を使用して解決できます。

SELECT DATE_FORMAT(CURDATE(), '%Y-%m-%d') 
// Output: 2013-10-30
4

1 に答える 1

1

これを試して

SELECT DATE_FORMAT(FROM_UNIXTIME(`entryDate`), '%Y-%m-%d') as entryDate, id 
FROM customers_orders WHERE DATE_FORMAT(FROM_UNIXTIME(`entryDate`), '%Y-%m-%d') = CURDATE()
于 2013-10-30T10:03:24.213 に答える