TECHNOLOGY

FAQ (よくある質問)

対象OS : 全て

QUESTION ( SQ1012102 )

DELETE文で削除できるデータと削除できないデータがあります。
なぜ、このデータは削除できないのでしょうか。
(このとき WHERE 句には TIMESTAMP カラムを指定している)

ANSWER

SQL Anywhere の TIMESTAMP 値の精度は、小数点以下 6 桁です。
この精度に一致しない TIMESTAMP 値をもつ(小数点以下 3 桁などにトランケートする)開発ツールを使用した場合、データが不一致であると見なされることがあります。
このようなツールと TIMESTAMP 値の互換性を維持するためには、truncate_timestamp_values オプション と default_timestamp_increment オプション を使用します。

例えば、小数点以下 3 桁(ミリ秒)の精度を持つ TIMESTAMP 値と互換性を持たせるためには以下のようにオプションを設定して TIMESTAMP 値の精度を制限します。
・truncate_timestamp_values オプションを ‘ON’ する。
・default_timestamp_increment オプションを 1000 にする。

これらのオプションの詳細につきましては、以下のオンライン・マニュアルをご参照下さい。
SQL Anywhere サーバ – データベース管理 > データベース・オプション > データベース・オプションの概要 > アルファベット順のオプション・リスト 
・default_timestamp_increment オプション
・truncate_timestamp_values オプション