期間カラム
カラムに対するduration値のupsert操作を実行するには、文字列形式の値を使用します。
カラムに対するduration値のupsert操作を実行するには、文字列形式の値を使用します。duration値は、このセクションで説明する形式で表すことができます。
注: duration値は引用符なしで指定します。
期間形式
duration値は、以下の形式で表すことができます:
NyNmoNwNdNhNsNmsNusNns
ここで、 - N:数字
- y:年数
- mo:月数
- w:週数
- d:日数
- h:時間数
- m:分数
- s:秒数
- ms:ミリ秒数
- µsまたはus:マイクロ秒数
- ns:ナノ秒数
たとえば、2か月間、10日間、12時間の期間の場合、2mo10d12h
と表します。欠落しているduration指定子は0に設定されます。
ISO 8601形式
duration値は、以下のISO 8601形式で表すことができます:
PNYNMNDTNHNMNS
ここで、 - P:duration値の先頭に配置される期間指定子
- N:数字
- Y:年数
- M:月数
- D:日数
- T:時間
- H:時間数
- M:分数
- S:秒数
たとえば、4年間、6か月間、3日間、12時間、30分間、5秒間の期間の場合、P4Y6M3DT12H30M5S
と表します。
duration値は、以下のISO 8601形式で表すことができます:
PNW
ここで、 - P:duration値の先頭に配置される期間指定子
- N:数字
- W:週数
P6W
と表します。代替のISO 8601形式
duration値は、以下の代替のISO 8601形式で表すことができます:
P[YYYY]-[MM]-[DD]T[hh]:[mm]:[ss]
ここで、 - P:duration値の先頭に配置される期間指定子
- YYYY:年数
- MM:月数
- DD:日数
- T:時間
- hh:時間数
- mm:分数
- ss:秒数
たとえば、4年間、6か月間、3日間、12時間、30分間、5秒間の期間の場合、P0004-06-03T12:30:05
と表します。
手順
-
INSERT duration値。
INSERT INTO cycling.race_times ( finish_time, race_name, cyclist_name, race_date ) VALUES ( 1h4m48s20ms, '17th Santos Tour Down Under', 'Rohan DENNIS', '2017-04-14' );
-
UPDATE duration値。
UPDATE cycling.race_times SET finish_time = 2h5m22s14ms WHERE race_name = '17th Santos Tour Down Under' AND cyclist_name = 'Rohan DENNIS' AND race_date = '2017-04-14';
-
SELECT duration値。
SELECT * FROM cycling.race_times WHERE race_name = '17th Santos Tour Down Under' AND cyclist_name = 'Rohan DENNIS' AND race_date = '2017-04-14';
出力:race_date | race_name | cyclist_name | finish_time | race_time ------------+-----------------------------+--------------+-------------+-------------------- 2017-04-14 | 17th Santos Tour Down Under | Rohan DENNIS | 2h5m22s14ms | 19:15:18.000000000 (1 rows)