openGauss 时间日期操作符示例


风晓
风晓 2024-01-15 09:19:56 51187 赞同 0 反对 0
分类: 资源 标签: 国产数据库
openGauss 时间日期操作符示例

用户在使用时间和日期操作符时,对应的操作数请使用明确的类型前缀修饰,以确保数据库在解析操作数的时候能够与用户预期一致,不会产生用户非预期的结果。

比如下面示例没有明确数据类型就会出现异常错误。

SELECT date '2001-10-01' - '7' AS RESULT;

 

时间和日期操作符: 

"+"

openGauss=# SELECT date '2001-9-28' + integer '7' AS RESULT;
result
\------------
2001-10-05 00:00:00
(1 row)

 

openGauss=# SELECT date '2001-09-28' + interval '1 hour' AS RESULT;
result
\---------------------
2001-09-28 01:00:00
(1 row)

 

openGauss=# SELECT date '2001-09-28' + time '03:00' AS RESULT;
result
\--------------------
2001-09-28 03:00:00
(1 row)

 

openGauss=# SELECT interval '1 day' + interval '1 hour' AS RESULT;
result
\----------------
1 day 01:00:00
(1 row)

 

openGauss=# SELECT timestamp '2001-09-28 01:00' + interval '23 hours' AS RESULT;
result
\---------------------
2001-09-29 00:00:00
(1 row)

 

openGauss=# SELECT time '01:00' + interval '3 hours' AS RESULT;
result
\----------
04:00:00
(1 row)

 

"-"

openGauss=# SELECT date '2001-10-01' - date '2001-09-28' AS RESULT;
result
\--------
3 days
(1 row)

 

openGauss=# SELECT date '2001-10-01' - integer '7' AS RESULT;
result
\---------------------
2001-09-24 00:00:00
(1 row)

 

openGauss=# SELECT date '2001-09-28' - interval '1 hour' AS RESULT;
result
\---------------------
2001-09-27 23:00:00
(1 row)

 

openGauss=# SELECT time '05:00' - time '03:00' AS RESULT;
result
\----------
02:00:00
(1 row)

 

openGauss=# SELECT time '05:00' - interval '2 hours' AS RESULT;
result
\----------
03:00:00
(1 row)

 

openGauss=# SELECT timestamp '2001-09-28 23:00' - interval '23 hours' AS RESULT;
result
\---------------------
2001-09-28 00:00:00
(1 row)

 

openGauss=# SELECT interval '1 day' - interval '1 hour' AS RESULT;
result
\----------
23:00:00
(1 row)

 

openGauss=# SELECT timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00' AS RESULT;
result
\----------------
1 day 15:00:00
(1 row)

 

"*"

openGauss=# SELECT 900 * interval '1 second' AS RESULT;
result
\----------
00:15:00
(1 row)

 

openGauss=# SELECT 21 * interval '1 day' AS RESULT;
result
\---------
21 days
(1 row)

 

openGauss=# SELECT double precision '3.5' * interval '1 hour' AS RESULT;
result
\----------
03:30:00
(1 row)

 

"/"

openGauss=# SELECT interval '1 hour' / double precision '1.5' AS RESULT;
result
\----------
00:40:00
(1 row)

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  124
统信桌面专业版【全盘安装UOS系统】介绍  119
银河麒麟桌面操作系统安装佳能打印机驱动方法  110
银河麒麟桌面操作系统 V10-SP1用户密码修改  104
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益209.03元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!