2017-12-17 18 views
1

申し訳ありませんが、この質問が以前に聞かれた場合。私は答えを見つけることができないようです。MySQL DATETIMEフィールドにDATE/TIME/YEARを格納する方法は?

MySQLは、日付/時刻型のこれらのタイプがあります。

DATE:  0000-00-00 
TIME:  00:00:00 
DATETIME: 0000-00-00 00:00:00 
TIMESTAMP: 0000-00-00 00:00:00 
YEAR:  0000 

私は1つは、それらのそれぞれを保存するためにこれらのデータ型のそれぞれを使用することができます知っています。私は、このような会社の年だけなDateTimeフィールド内の誕生日として設立され、DATEとしてYEAR、唯一このような事業オープニング/クロージング時間として時間を格納することができますどのように

?ありがとう。

PS:純粋なMySQLのソリューションを探していますけれどもそれは、場合に役立ちます、PHPを使用しています。

答えて

0

タイムスタンプを保存し、タイムスタンプを使用してタイムスタンプから取得する情報を取得することができます 使用している言語に基づいて、実装に役立つ機能があります。あなたはとても使用している言語を共有 私たちはあなたを助けることができる、より良い

+1

、その限られた範囲の 'TIMESTAMP'を使用しないでください。 'DATETIME'を使い、常にUTC時刻を格納します(例えば、' UTC_TIMESTAMP() ')。 – DanMan

+0

申し訳ありませんが私の間違いはUNIXのタイムスタンプ – CodeAnomalies

1

私はあなたがdatetime型としてこれらのすべてを保存する必要があることを主張するだろう。営業時間は日によって異なる場合がありますが、会社が設立された日または月が必要な場合もあります。あなたが余分な情報を永続化されることも可能であるdatetime型として、すべてを記憶することにより

。しかし、関心のある情報を簡単に検索することは常に可能です。例えば、会社はあなたがどちらかYEAR(date_founded)を使用することができ設立された年を取得するために、またはあなたがより洗練された感じている場合は、DATE_FORMAT('date_founded', '%Y')を使用することができます。

関連する問題