こんにちは、皆さま。 業務でIRISを用いて開発を行っている者です。 TIMESTAMP型のデータを持つテーブルの扱いについて教えてください。 現在Ens_Util.Logを参照するシステムを開発しようとしております。 このテーブルの中にTimeLoggedというTIMESTAMP型のデータがあるのですが、 それをSELECTした際、CASTの有無で表示されるデータに差異が出ます。 > SELECT >     DATE(TimeLogged), >     CAST(TimeLogged AS TIME), >     TimeLogged > FROM >     Ens_Util.Log > Expression\_1|Expression\_2|TimeLogged         | > \---\---\---\---+\---\---\---\---+\---\---\---\---\---\----+ >   2022-01-25|    15:00:01|2022-01-26 00:00:01| >   2022-01-25|    15:00:01|2022-01-26 00:00:01| >   2022-01-25|    15:00:01|2022-01-26 00:00:01| 確認する限り9時間の差があるため、UTC時刻との時差が出ているものと考えていますが、ここで何点か疑問があります。 ① テーブルに格納されているタイムスタンプはUTC時刻か、ローカル時刻かどちらでしょうか? ⇒おそらくローカル時刻と考えています。 ② 何故CASTの有無で、ローカル時刻の適応(or 除外?)の差分が出るのでしょうか? 私のIRIS側の設定の問題なのでしょうか。。 ③ 上記の例ではSELECTでしたが、WHEREの条件にTimeLoggedを入れたときも-9時間された値で条件に含まれる挙動をしています。 これを実際にテーブルの中に格納されている、-9時間されていない状態で扱う方法はありませんでしょうか? 力技ですが、以下のようなやり口しか思い浮かんでいません。 > WHERE $PIECE(DATEADD(hh, 9, TimeLogged), ' ', 1) >= '2022-01-26'   何かヒントがありましたら、ご教示いただけますと幸いです。