2016-08-29 11 views
-1

DATE(created) LIKE '2016%'は日付2016-1-22の行を返しますが、DATE(created) LIKE '2016-1%'はデータベースから何も返されません。この列はCURRENT_TIMESTAMPのタイムスタンプ形式です。年と月のMYSQLクエリ

SELECT * FROM logs WHERE DATE(created) LIKE '2016-1%' 

私は(、すなわち。01,02,03 ...)のいずれかの行を見つける2016年1月22日...

+0

好きな場合は、この簡単な2ステップの行動コースに従ってください。これをまだ実行していない場合は、適切なCREATE文とINSERT文(および/またはsqlfiddle)を提供して、問題をより簡単に複製できるようにします。 2.まだ実行していない場合は、手順1で提供された情報に対応する望ましい結果セットを提供します。 – Strawberry

答えて

0

で9まで、0に提出ヶ月を前置してくださいすることはできません。 だからあなたのクエリは、TIMESTAMP列のDATE一部はフォーマット'YYYY-MM-DD'see documentation)でのMySQLによって取得され

SELECT * FROM logs WHERE DATE(created) LIKE '2016-01%' 
1

ようになるはずです。だから、2016-1-22のような日付は実際には2016-01-22と表され、それは'2016-1%'と一致しません。