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

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

Product
ODBC Driver for Teradata
Release Number
16.20
Published
2018年10月
Language
日本語
Last Update
2019-02-12
dita:mapPath
ja-JP/fxv1527114222338.ditamap
dita:ditavalPath
ja-JP/fxv1527114222338.ditaval
dita:id
B035-2526
Product Category
Teradata Tools and Utilities

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

Periodデータ型 バイト数 渡されるメンバー メンバーの詳細(指定される順序)
PERIOD(DATE) 8 2 DATEメンバー Date: 4バイトの符号付き整数。この整数は、DATEデータ型と同じ方法で日付を表わします(例えば、10000*(年-1900))+(100*月)+日)
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から取得するか、インプリメント レコード記述子から直接取得できます。