2016-05-27 3 views
0

基本的なTODOリストアプリケーションと同様のWebサイトをいくつか作成します。私はいつも単一の日付を格納し、私は基本的に時間と秒を必要としない単一の行のために、日付はちょうど良いです。データを視覚化するためにMySQLデータベースに日付を格納する最良の方法

私がデータを使用する方法:
私はSQLを選択して、このデータからJSONを作成し、それがAngularJSで作成されたフロントエンド与える作るPHPのバックエンドを持っています。私はデータで何をしたいか


私は、データを比較したグラフでそれを視覚化したいです。私はこの種の価値を保存する最良の方法が何であるか分かりません。私が考える

もの:

  1. のUnix TIME - 私は、その任意の言語での数字で動作するように本当に簡単と
  2. MySQLの日付を比較し、可視化することも容易ように感じる - 私はしませんよ確かに私はMySQLの内部日付形式は本当に便利だと思うので、私はどのように日付のような形式で比較するのか分からない:YYYY-MM-DD
  3. MySQL Datetime - これは私の役に立つかもしれません。

私は本当にあなたの意見を喜んで助けることができる助言します。また、それぞれの方法の利点は、UNIXのTIMEの利点を説明したためです。なぜなら、数値は簡単に比較できるからです。また、データベースに日付を格納する方法を忘れてしまったので、他のオプションがあれば、それについて話してください。

ありがとうございました

+1

多くの良い質問は、専門家の経験に基づいた意見をある程度発生するが、この質問に対する答えは、ほぼ完全な意見ではなく、事実に基づいてされる傾向があります、参考文献、または特定の専門知識。 –

+0

意見に基づいて私はMySQL Dateを選ぶでしょう。 – Gadget

答えて

3

私はMySQL Dateを選択します。

my_dateという名前のDateという列を持つテーブルmy_tableがあるとします。

timestampとほぼ同じ方法で実際にやりとりすることができます。 my_dateは、アイテムが作成された日付であると仮定すると...

// Where it was created after 1st Jan 
SELECT * FROM my_table WHERE my_date > '2016-01-01' 

// Where it was created in Jan 
SELECT * FROM my_table WHERE my_date BETWEEN '2016-01-01' AND 2015-01-31 

// Where it was created in the last 7 days 
SELECT * FROM my_table WHERE DATEDIFF(CURDATE(), my_date) <= 7 
関連する問題