下表に、バイナリ形式でデータを取得した場合に返される形式を示します。
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から取得するか、インプリメント レコード記述子から直接取得できます。