PostgreSQL 13 INTERVALを使って時間の足し算を行うサンプル

環境
Windows 10 Home 64bit
PostgreSQL 13.2

書式
時間の足し算を行います
時間 + cast( '時間 hours’ as INTERVAL )
分数の足し算を行います
時間 + cast( '分数 minutes’ as INTERVAL )
秒数の足し算を行います
時間 + cast( '秒数 seconds’ as INTERVAL )
cast( ‘n 単位’ as INTERVAL )を使用して、時間の足し算を行います。

使用例
1.5時間の足し算を行います

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
postgres=# select now(),now()+ cast( '5 hours' as INTERVAL );
now | ?column?
------------------------------+------------------------------
2022-11-29 23:11:43.86535+09 | 2022-11-30 04:11:43.86535+09
(1)
postgres=# select now(),now()+ cast( '5 hours' as INTERVAL ); now | ?column? ------------------------------+------------------------------ 2022-11-29 23:11:43.86535+09 | 2022-11-30 04:11:43.86535+09 (1 行)
postgres=# select now(),now()+ cast( '5 hours' as INTERVAL );
             now              |           ?column?
------------------------------+------------------------------
 2022-11-29 23:11:43.86535+09 | 2022-11-30 04:11:43.86535+09
(1 行)

2.5分の足し算を行います

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
postgres=# select now(),now()+ cast( '5 minutes' as INTERVAL ) ;
now | ?column?
-------------------------------+-------------------------------
2022-11-29 23:12:01.673291+09 | 2022-11-29 23:17:01.673291+09
(1)
postgres=# select now(),now()+ cast( '5 minutes' as INTERVAL ) ; now | ?column? -------------------------------+------------------------------- 2022-11-29 23:12:01.673291+09 | 2022-11-29 23:17:01.673291+09 (1 行)
postgres=# select now(),now()+ cast( '5 minutes' as INTERVAL ) ;
              now              |           ?column?
-------------------------------+-------------------------------
 2022-11-29 23:12:01.673291+09 | 2022-11-29 23:17:01.673291+09
(1 行)

3.5秒の足し算を行います

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
postgres=# select now(),now()+ cast( '5 seconds' as INTERVAL );
now | ?column?
-------------------------------+-------------------------------
2022-11-29 23:12:18.361178+09 | 2022-11-29 23:12:23.361178+09
(1)
postgres=# select now(),now()+ cast( '5 seconds' as INTERVAL ); now | ?column? -------------------------------+------------------------------- 2022-11-29 23:12:18.361178+09 | 2022-11-29 23:12:23.361178+09 (1 行)
postgres=# select now(),now()+ cast( '5 seconds' as INTERVAL );
              now              |           ?column?
-------------------------------+-------------------------------
 2022-11-29 23:12:18.361178+09 | 2022-11-29 23:12:23.361178+09
(1 行)

 

PostgreSQL

Posted by arkgame