返回首页

gbase数据、南大通用产品文档:GBase8aTIME

更新日期:2024年09月11日

GBase 8a MPP Cluster 以“HH:MM:SS”格式(或“HHH:MM:SS”格式)检索和
显示TIME 值,该值为字符串。
TIME 的范围是“-838:59:59”到“838:59:59”。TIME 类型不仅可以用于表示一
天的时间,而且可以用来表示所经过的时间或两个事件之间的时间间隔(这可能
比24 小时大许多或是一个负值)。
对于以字符串指定的包含时间界定符的TIME 值,
小于10 的时、分或秒,可以不
指定为两位数值。“8:3:2”与“08:03:02”是一致的。
TIME 值可以多种格式指定:
一个'D HH:MM:SS.fraction'格式的字符串。下面所示的任一种“宽松”的语法均
可以被使用:'HH:MM:SS.fraction','HH:MM:SS','HH:MM','D HH:MM:SS','D
HH:MM','D HH',或'SS'。这里的D 是一个在0-34 之间的天数。注意,fraction
部分可以精确到微秒。
示例
示例1:插入一个标准的TIME 值。
gbase> CREATE TABLE products (producttime TIME);
Query OK, 0 rows affected
gbase> INSERT INTO products(producttime) VALUES('12:35:23');
Query OK, 1 row affected
gbase> SELECT producttime FROM products;
+-------------+
| producttime |
+-------------+
| 12:35:23
|
+-------------+
1 row in set
示例2:插入一个NULL 值。
gbase> CREATE TABLE products (producttime TIME);

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
638
Query OK, 0 rows affected
gbase> INSERT INTO products(producttime) VALUES(NULL);
Query OK, 1 row affected
gbase> SELECT producttime FROM products;
+-------------+
| producttime |
+-------------+
| NULL
|
+-------------+
1 rows in set
示例3:插入一个非法的TIME 值,系统报告错误信息。
gbase> CREATE TABLE products (producttime TIME);
Query OK, 0 rows affected
gbase> INSERT INTO products(producttime) VALUES('14:08:89');
ERROR 1292 (22007): Incorrect time value: '14:08:89' for column 'producttime' at
row 1

STATEMENT_USER_COMPLEX_HISTORY 系统表显示数据库主节点执行作业结束后
的负载管理记录。此数据是从内核中转储到系统表中的数据。具体的字段请参考表
GS_SESSION_MEMORY_DETAIL。

语法
GET_FORMAT(DATE|TIME|DATETIME,EUR'|'USA'|'JIS'|'ISO'|'INTERNAL')
返回一个格式字符串。
函数说明
这个函数可以与DATE_FORMAT()函数或STR_TO_DATE()函数进行组合。
对于参数DATE、DATETIME 和TIME,各有五种可能值,共计十五种格式字符
串:
表5- 24 函数调用与字符串格式
函数调用


GET_FORMAT(DATE,'USA')
'%m.%d.%Y'
GET_FORMAT(DATE,'JIS')
'%Y-%m-%d'
GET_FORMAT(DATE,'ISO')
'%Y-%m-%d'
GET_FORMAT(DATE,'EUR')
'%d.%m.%Y'
GET_FORMAT(DATE,'INTERNAL')
'%Y%m%d'
GET_FORMAT(DATETIME,'USA')
'%Y-%m-%d-%H.%i.%s'
GET_FORMAT(DATETIME,'JIS')
'%Y-%m-%d %H:%i:%s'
GET_FORMAT(DATETIME,'ISO')
'%Y-%m-%d %H:%i:%s'
GET_FORMAT(DATETIME,'EUR')
'%Y-%m-%d-%H.%i.%s'
GET_FORMAT(DATETIME,'INTERNAL')
'%Y%m%d%H%i%s'
GET_FORMAT(TIME,'USA')
'%h:%i:%s %p'
GET_FORMAT(TIME,'JIS')
'%H:%i:%s'
GET_FORMAT(TIME,'ISO')
'%H:%i:%s'
GET_FORMAT(TIME,'EUR')
'%H.%i.%S'
GET_FORMAT(TIME,'INTERNAL')
'%H%i%s'
说明
对于上述表中使用的说明符的作用,请参见“ 5.1.5.5.13
DATE_FORMAT(date,FORMAT)”中的表。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
800
示例
示例1:DATE_FORMAT()与GET_FORMAT()函数进行组合。
GET_FORMAT(DATE,'EUR')对应输出的格式为“%d.%m.%Y”。
gbase> SELECT
DATE_FORMAT('2020-08-30',GET_FORMAT(DATE,'EUR')) FROM dual;
+--------------------------------------------------+
| DATE_FORMAT('2020-08-30',GET_FORMAT(DATE,'EUR')) |
+--------------------------------------------------+
| 30.08.2020
|
+--------------------------------------------------+
1 row in set
示例2:STR_TO_DATE()与GET_FORMAT()函数进行组合。
GET_FORMAT(DATE,'USA')对应的输出格式为“%Y-%m-%d”。
gbase> SELECT
STR_TO_DATE('08.30.2020',GET_FORMAT(DATE,'USA')) FROM dual;
+--------------------------------------------------+
| STR_TO_DATE('08.30.2020',GET_FORMAT(DATE,'USA')) |
+--------------------------------------------------+
| 2020-08-30
|
+--------------------------------------------------+
1 row in set