1

私は私が検討してきたこれらの2つのオプションについての危機に瀕しています:

オプションA:フィールドを 使用し、DATETIMEフィールドからプルした後にxsd形式に変換する

オプションB:フィールドを 使用し、VARCHARフィールドに挿入する前にxsd形式に変換する

どちらのオプションも同じくらい効率的かもしれませんが、私がまだ検討していないオプションCがあるかもしれません。

それが違いを生むなら、それは私が作っているテーブルの要件です。フィールドのデータ定義は次のとおりです。

A date in xsd:dateTime format: [-]CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]

例: 2001-10-26T21:32:52

このデータベースからの読み取りと書き込みの両方にphpを使用する予定ですが、mysqlとphpの両方に同様に多数の日付/時刻関数があることを知っています。

この状況で使用するのに最適なデータ型と読み取り/書き込みの方法は何ですか?

4

1 に答える 1

2

それはあなたがそのコラムで何をする必要があるか、そしてあなたがそれに何を入れているかに依存します。

たとえば、クエリで値を操作するDATETIME必要がある場合は見栄えがよくなりますが、XSDに出力する必要がある場合は、タイムゾーンの情報に関連性がありますか?で正しく読んだとしてもCONVERT_TZ()、日時列にはその情報が失われます。

したがって、「特定の時点」が必要な場合は、UTCに変換し、日時として保存します。同じように再生成する必要がある場合は、TZを2番目の列に保管してください。

情報を何もしない場合は、そのままにしておいてください。今後もVARCHARアイデアを変えることができます。「日時列のみ」は、離れることができない唯一の選択肢です。

于 2012-11-02T19:56:12.947 に答える