27

ユーザーの誕生日(のように12-11-1990)をmysqlデータベースに保存する必要があります。

それを格納するには、どのフィールド タイプを使用する必要がありますか?

4

5 に答える 5

30

日付を保存するには、おそらくdate を使用する必要があります。ドキュメントを引用するには:

DATE 型は、日付部分があり時刻部分がない値に使用されます。

于 2012-04-30T19:41:01.367 に答える
14

DATE繰り返さない日付で通常行うように、オブジェクトとして保存できます。MySQL を使用している場合 (他の DBMS にもこの機能があると思います)、ここで説明するように MySQL 関数を使用して誕生日を取得できます。

SELECT * 
FROM table_name 
WHERE 
    MONTH(date_field) = desired_month AND 
    DAY(date_field) = desired_day

この方法は、数千のレコードを処理する場合、少し遅くなる可能性があります。その場合は、誕生日を 3 つの個別の INT (年、月、日) ごとに 1 つずつ格納できます。次に、次のように誕生日を検索します。

SELECT *
FROM table_name
WHERE
   month_field = desired_month AND
   day_field = desired_day

この最後の方法を使用する場合は、何の操作もせずに日付を作成できるように、誕生日の DATETIME バージョンも保存することをお勧めします。さらに、3 つのフィールド (一意ではない) のそれぞれにインデックスを付けることができるため、それらを取得する方が高速です。

于 2012-04-30T19:51:59.787 に答える
6

「DATE」でいいはずです。

DATE 型は、日付部分があり時刻部分がない値に使用されます。MySQL は DATE 値を「YYYY-MM-DD」形式で取得して表示します。サポートされている範囲は「1000-01-01」から「9999-12-31」です。

詳細: http://dev.mysql.com/doc/refman/5.5/en/datetime.html

于 2012-04-30T19:41:56.297 に答える
5

日付は DATE として保存する必要があります。

そして、 varchar としての Locale ( PHPまたはJava )。

ロケールを忘れないでください:)

まだ誕生日ではないのに、Weibo (中国の Twitter) などからメールを受け取るようなものはありません。

于 2012-04-30T19:48:56.310 に答える
1

DATEはあまりにも明白ですか?

于 2012-04-30T19:41:26.497 に答える