OracleのTIMESTAMP WITH TIME ZONEに相当するMySQLはありますか?OracleのTIMESTAMP WITH TIME ZONEに相当するMySQLはありますか?
そのデータ型を持ついくつかの列を持つOracleテーブルをMySQLテーブルにマップする必要がありますが、一部のMySQL関数を使用せずにこれを行う簡単な方法が見つからないようです。
ありがとうございます。
OracleのTIMESTAMP WITH TIME ZONEに相当するMySQLはありますか?OracleのTIMESTAMP WITH TIME ZONEに相当するMySQLはありますか?
そのデータ型を持ついくつかの列を持つOracleテーブルをMySQLテーブルにマップする必要がありますが、一部のMySQL関数を使用せずにこれを行う簡単な方法が見つからないようです。
ありがとうございます。
いいえ、データを2つの列に分割する必要があります.1つはdatetime、もう1つはタイムゾーン情報を保持する必要があります。しかし、後者のフィールドには、Oracleに格納されているものに依存します。TIMESTAMP WITH TIME ZONEデータ型には、TZオフセットと(オプションで)タイムゾーン領域を含めることができます。当然のことながら、後者は、日付的な意味での正確さを期すための要件ですが、IIRC Oracleでは、このデータが移入されることはありません。いくつかのMySQLに頼ることなく
は、MySQLがデータ型を持っていないので、それを処理するためのMySQL関数を記述することは非常に難しいでしょう
を機能 - 互換性のあるMySQLを作成するために、ずっと簡単ですデータ型がサポートされているOracleの表現。あなたが実際に持っているデータを調べ、MySQLでどのように表現するかを決めるだけで済みます。これは、TZと一緒にUTCで別の列に格納し、convert_tz関数(常にUTCから)で選択して変換することを意味します。
MySQLは常にtimestamps as utcを格納します。日付は常にタイムゾーン情報なしで保存されます。
now()の値を別のtimezonesに戻すようにmysqlを設定できます。
現在のオフセットを保存するには、これをいくつかの列に追加する必要があります。
短い答えはいいと思います。このようなデータ型を将来のバージョンのMariaDB(MySQLフォーク)に追加する計画はありますが、スケジュールは考えていません。 –
MariaDB 5.6の計画:http://kb.askmonty.org/ja/plans-for-56 –