Period SQLからバイナリC型への変換 - ODBC Driver for Teradata

ODBC Driver for Teradata® ユーザー ガイド

Product
ODBC Driver for Teradata
Release Number
17.10
Published
2021年6月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/wxs1608578396899.ditamap
dita:ditavalPath
ja-JP/wxs1608578396899.ditaval
dita:id
B035-2526
Product Category
Teradata Tools and Utilities

下表に、バイナリ形式でデータを取得した場合に返される形式を示します。

Periodデータ型 バイト数 渡されるメンバー メンバーの詳細(指定される順序)
PERIOD(DATE) 8 2 DATEメンバー Date: 4バイトの符号付き整数。

この整数は、DATEデータ型と同じ方法で日付を表わします(例: 10000*(year-1900)) + (100*month) + day)。

PERIOD(TIME(n)) 12 2 TIMEメンバー
  • Second: 4バイトの符号付き整数。

    この整数は、10**6の尺度の秒数を表わします(例えば、12.56秒は12560000と返される)。

  • Hour: 符号無しの1バイト。

    このバイトは時間の数を表わします。

  • Minute: クライアント形式の符号無しの1バイト。

    このバイトは分の数を表わします。

PERIOD(TIME(n) WITH TIME ZONE) 16 2 TIME WITH TIME ZONEメンバー
  • Second: 4バイトの符号付き整数。

    この整数は、10**6の尺度の秒数を表わします(例えば、12.56秒は12560000と返される)。

  • Hour: 符号無しの1バイト。

    このバイトは時間の数を表わします。

  • Minute: 符号無しの1バイト。

    このバイトは分の数を表わします。

  • Time Zone Hour: 符号無しの1バイト。

    このバイトは、タイムゾーンのずれの時間の部分を表わします。このずれが正か負かも含まれます。値が16であれば、ずれが0時間であることを表わします。値が16未満であれば、タイムゾーンのずれが指定された時間だけ負の値であることを表わします。例えば、値が10であれば、タイムゾーンは-10時間ずれています。値が16より大きければ、タイムゾーンのずれが(Time Zone Hour - 16)時間だけ正の値であることを表わします。例えば、値が20であれば、+4時間ずれています。

  • Time Zone Minute: 符号無しの1バイト。

    このバイトは、タイムゾーンのずれの分の部分を表わします。

PERIOD(TIMESTAMP(n)) 20 2 TIMESTAMPメンバー 2つのTIMESTAMPメンバーには以下が入っています。
  • Second: 4バイトの符号付き整数。

    この整数は、10**6の尺度の秒数を表わします(例えば、12.56秒は12560000と返される)。

  • Year: 2バイトの符号付き短整数。

    このバイトは年の値を表わします。

  • Month: 符号無しの1バイト。

    このバイトは月の値を表わします。

  • Day: 符号無しの1バイト。

    このバイトは日にちを表わします。

  • Hour: 符号無しの1バイト。

    このバイトは時間の数を表わします。

  • Minute: 符号無しの1バイト。

    このバイトは分の数を表わします。

PERIOD(TIMESTAMP(n) WITH TIME ZONE) 24 2 TIMESTAMP WITH TIME ZONEメンバー 2つのTIMESTAMPメンバーには以下が入っています。
  • Second: 4バイトの符号付き整数。

    この整数は、10**6の尺度の秒数を表わします(例えば、12.56秒は12560000と返される)。

  • Year: 2バイトの符号付き短整数。

    このバイトは年の値を表わします。

  • Month: 符号無しの1バイト。

    このバイトは月の値を表わします。

  • Day: 符号無しの1バイト。

    このバイトは日にちを表わします。

  • Hour: 符号無しの1バイト。

    このバイトは時間の数を表わします。

  • Minute: 符号無しの1バイト。

    このバイトは分の数を表わします。

  • Time Zone Hour: 符号無しの1バイト。

    このバイトは、タイムゾーンのずれの時間の部分を表わします。このずれが正か負かも含まれます。値が16であれば、ずれが0時間であることを表わします。値が16未満であれば、タイムゾーンのずれが指定された時間だけ負の値であることを表わします。例えば、値が10であれば、タイムゾーンは-10時間ずれています。値が16より大きければ、タイムゾーンのずれが(Time Zone Hour - 16)時間だけ正の値であることを表わします。例えば、値が20であれば、+4時間ずれています。

  • Time Zone Minute: 符号無しの1バイト。

    このバイトは、タイムゾーンのずれの分の部分を表わします。

アプリケーション レコード記述子でアプリケーションによって設定される対象の精度は、ドライバでは無視されます。データベースから返される秒の値は、常に10**6の尺度の秒を持つ4バイトの符号付き整数です。ソース データの精度は、SQLDescribeCol/SQLColAttributeから取得するか、インプリメント レコード記述子から直接取得できます。