2017-06-24 9 views
0

では動作していない私は、MySQLのテーブルにtimestampとしてデータ型でフィールドをしましたのMySQL CURDATE()タイムスタンプタイプ

現在の日付

SELECT * FROM revenue WHERE date=CURDATE()

と一致した。しかし、それは空の結果を返す行をフェッチ

+0

タイムスタンプ時間情報は含まれていますが、CURDATE()は含まれていません。日付フィールドを変換する必要があります。 –

+0

しかし、私はそれを日付に変換できませんbczアプリは複数のタイムゾーンを使用します –

+0

CURDATE()の代わりにNOW()を使用します。 – Saqlain

答えて

1

は例えば、ミリ秒単位で時間を表しています。

SELECT * 
FROM revenue 
WHERE DATE(date) = CURDATE(); 
+0

は 'DATE(date)'と一緒に使用します –

+0

@iambatman申し訳ありませんが、今度は列名を修正しました –

+0

もう一度質問します。 –

0

CURRENT_TIMESTAMPを使用する場合は、書式を指定するTO_CHARを使用して書式要件に変更します。クエリは、日付形式によってはこのように見える場合があります。あなたは、タイムスタンプ自体としてタイムスタンプのdate一部を比較する必要が

SELECT * 
FROM revenue 
WHERE date=TO_CHAR(CURRENT_TIMESTAMP(), 'DD-MON-YYYY'); 
0

あなたは次のことを行うことができるはず:

SELECT * FROM revenue WHERE DATE(date)=CURDATE() 

DATE (日付)は、YYYY-MM-DDとCURDATE()の形式で日付を指定します。

関連する問題