web-dev-qa-db-ja.com

Oracleのようなmysqlの日付フィールドの切り捨て

「mysql」データベースで「trunc(in Oracle)」関数を使用できません。 「mysql」データベースにdlb_cc_purchaseというテーブルとdue_dateという日付フィールドがあります。 20-11-2014 00:00:00(20-nov-2014)のような日付フィールドに表示されるデータ。 Oracleではクエリを使用しています

select * from dlbcc_purchase where trunc(due_date) = '20-nov-2014' 

Oracle DBは、期限が2014年11月20日00:00:00の行をフェッチします。 「mysql」でこの関数を使用するにはどうすればよいですか?私はこれが基本的な質問であることを知っていますが、truncate、str_to_date ...でこれを長い間しようとしていましたが、値を取得できませんでした。助けてください。

15
Prajith A S

DATE(expr) 関数を使用します。クエリの例:

SELECT *
  FROM dlbcc_purchase
  WHERE DATE(due_date) = '2014-11-20'
34
Rimas

DATE_FORMAT()を使用できます。

example:

select * from dlbcc_purchase where DATE_FORMAT(due_date,'%d-%b-%Y') = '20-nov-2014' 
3
Dens