返回首页

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

更新日期:2024年09月11日

默认值1024
最大值32k
最小值4
分级查询sys_connect_by_path 返回值的最大字符数,由于无法评估返回值的最大
长度,因此用设置的最大长度来作为评估依据。

函数说明
将字符串string 格式化成format 类型的日期。
表5- 25 参数说明
格式化参数


-
,
.
:
/
空格
一般作为参数string 的分隔符号使用,不论使用何种分隔符号,
格式化输出的格式都是以
“-”
作为分隔符的。
因为GBase 8a MPP
Cluster 的日期格式就是ISO 的格式。
注意:string 和FORMAT 两个参数必须使用一致的分隔符。
YYYY/YY
YYYY 对应1~4 位数字,YY 对应1~2 位数字。
注意:YYYY 或YY 的值不能为空。
如果FORMAT 参数没有指定YYYY 或者YY,默认为本年,与
NOW()返回的年一致。
如果string 和FORMAT 都是“YY-MM-DD”格式,则返回结果,

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
820
格式化参数


年补足4 位,年的前两位是NOW()函数中年的前2 位数值。
如果string 是
“YY-MM-DD”
格式,
而format 是
“YYYY-MM-DD”
格式,则返回结果,年也补足4 位,但是年的前两位是用“00”
补足。
年的范围:0~9999。
MM
如果string 参数不包含月MM,则format 参数默认返回NOW()
函数中月对应的数值。
DD
如果string 参数不包含日DD,则format 参数默认返回为1 日。
DDD
一年中的第N 天。参数string 必须给定年和天数,FORMAT 参数
使用YYYY DDD 的形式,系统便能计算出对应的日期。
HH、
HH12、
HH24
格式化小时。
如果string 参数中小时部分超过12,则FORMAT 参数中的HH,
必须使用HH24,否则会报错。
AM
上午的简写,按照上午的12 小时区间,格式化小时。
注意:不要使用HH12 或者HH24 格式,
string 和FORMAT 两个参数必须同时指定AM 或者PM。
如果string 和FORMAT 两个参数指定的AM 或者PM 不一致,

以string 参数指定的是AM 还是PM,进行格式化输出。
PM
下午的简写,按照下午的12 小时区间,格式化小时。
注意:不要使用HH12 或者HH24 格式,
string 和FORMAT 两个参数必须同时指定AM 或者PM。
如果string 和FORMAT 两个参数指定的AM 或者PM 不一致,

以string 参数指定的是AM 还是PM,进行格式化输出。
MI
分钟。
如果string 和FORMAT 参数中省略MI,则返回分钟为0。
SS
秒。
如果string 和FORMAT 参数中省略SS,则返回秒为0。
示例

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
821
示例1:不论string 和format 使用何种分隔符,格式化输出的格式都是以“-”作
为分隔符。
gbase> SELECT TO_DATE('2020-04-15','YYYY-MM-DD') FROM dual;
+------------------------------------+
| TO_DATE('2020-04-15','YYYY-MM-DD') |
+------------------------------------+
| 2020-04-15
|
+------------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020/04/15','YYYY/MM/DD') FROM dual;
+------------------------------------+
| TO_DATE('2020/04/15','YYYY/MM/DD') |
+------------------------------------+
| 2020-04-15
|
+------------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020,04,15','YYYY,MM,DD') FROM dual;
+------------------------------------+
| TO_DATE('2020,04,15','YYYY,MM,DD') |
+------------------------------------+
| 2020-04-15
|
+------------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020:4:15','YYYY:MM:DD') FROM dual;
+-----------------------------------+
| TO_DATE('2020:4:15','YYYY:MM:DD') |
+-----------------------------------+
| 2020-04-15
|
+-----------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020.4.15','YYYY.MM.DD') FROM dual;
+-----------------------------------+
| TO_DATE('2020.4.15','YYYY.MM.DD') |
+-----------------------------------+
| 2020-04-15
|
+-----------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020 4 14','YYYY MM DD') FROM dual;

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
822
+-----------------------------------+
| TO_DATE('2020 4 14','YYYY MM DD') |
+-----------------------------------+
| 2020-04-14
|
+-----------------------------------+
1 row in set
示例2:如果string 中没有指定年,则返回本年,与NOW()返回的年一致。
gbase> SELECT TO_DATE('4-15','MM-DD'),NOW() FROM dual;
+-------------------------+---------------------+
| TO_DATE('4-15','MM-DD') | NOW()
|
+-------------------------+---------------------+
| 2020-04-15
| 2020-04-01 17:44:46 |
+-------------------------+---------------------+
1 row in set
如果string 和format 都是“YY-MM-DD”
格式,
则返回结果中的“年”
补足4 位。
gbase> SELECT TO_DATE('20-4-15','YY-MM-DD') FROM dual;
+-------------------------------+
| TO_DATE('20-4-15','YY-MM-DD') |
+-------------------------------+
| 2020-04-15
|
+-------------------------------+
1 row in set
如果string 是“YY-MM-DD”格式,而format 是“YYYY-MM-DD”格式,返回
结果中的年补足4 位,但是年的前两位是用“00”补足。
gbase> SELECT TO_DATE('20-04-15','YYYY-MM-DD') FROM dual;
+----------------------------------+
| TO_DATE('20-04-15','YYYY-MM-DD') |
+----------------------------------+
| 0020-04-15
|
+----------------------------------+
1 row in set
示例3:如果string 参数不包含月MM,则format 参数默认返回NOW()函数中月
对应的数值。
gbase> SELECT TO_DATE('2020-04-15','YYYY-MM-DD') FROM dual;
+------------------------------------+
| TO_DATE('2020-04-15','YYYY-MM-DD') |
+------------------------------------+
| 2020-04-15
|
+------------------------------------+
1 row in set

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
823
gbase> SELECT TO_DATE('2020-15','YYYY-DD') FROM dual;
+------------------------------+
| TO_DATE('2020-15','YYYY-DD') |
+------------------------------+
| 2020-04-15
|
+------------------------------+
1 row in set
示例4:如果string 参数不包含日DD,则format 参数默认返回1。
gbase> SELECT TO_DATE('2020-4-15','YYYY-MM-DD') FROM dual;
+-----------------------------------+
| TO_DATE('2020-4-15','YYYY-MM-DD') |
+-----------------------------------+
| 2020-04-15
|
+-----------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020-4','YYYY-MM') FROM dual;
+-----------------------------+
| TO_DATE('2020-4','YYYY-MM') |
+-----------------------------+
| 2020-04-01
|
+-----------------------------+
1 row in set
示例5:返回一年中的第N 天对应的日期。
gbase> SELECT TO_DATE('2020
218','YYYY DDD') FROM dual;
+---------------------------------+
| TO_DATE('2020
218','YYYY DDD') |
+---------------------------------+
| 2020-08-05
|
+---------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020
55','YYYY DDD') FROM dual;
+--------------------------------+
| TO_DATE('2020
55','YYYY DDD') |
+--------------------------------+
| 2020-02-24
|
+--------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020 366','YYYY DDD') FROM dual;

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
824
+--------------------------------+
| TO_DATE('2020 366','YYYY DDD') |
+--------------------------------+
| 2020-12-31
|
+--------------------------------+
1 row in set
示例6:返回12 小时制和24 小时制的时间。
gbase> SELECT TO_DATE('2020-4-15 12:15:10','YYYY-MM-DD
HH:MI:SS') FROM dual;
+-----------------------------------------------------+
| TO_DATE('2020-4-15 12:15:10','YYYY-MM-DD HH:MI:SS') |
+-----------------------------------------------------+
| 2020-04-15 12:15:10
|
+-----------------------------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020-4-15 12:15:10','YYYY-MM-DD
HH12:MI:SS') FROM dual;
+-------------------------------------------------------+
| TO_DATE('2020-4-15 12:15:10','YYYY-MM-DD HH12:MI:SS') |
+-------------------------------------------------------+
| 2020-04-15 12:15:10
|
+-------------------------------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020-4-15 12:15:10','YYYY-MM-DD
HH24:MI:SS') FROM dual;
+-------------------------------------------------------+
| TO_DATE('2020-4-15 12:15:10','YYYY-MM-DD HH24:MI:SS') |
+-------------------------------------------------------+
| 2020-04-15 12:15:10
|
+-------------------------------------------------------+
1 row in set
小时部分超过12,必须使用HH24,否则报错。
gbase> SELECT TO_DATE('2020-4-14 13:00:00','YYYY-MM-DD
HH:MI:SS') FROM dual;
ERROR 1708 (HY000): [172.168.83.12:5050](GBA-02AD-0005)Failed to query
in gnode:
DETAIL: incorrect parameter in function to_date.
SQL: SELECT /*172.168.83.11_238_174_2020-04-01_18:54:11*/ /*+
TID('196780') */ to_date('2020-4-14 13:00:00', 'YYYY-MM-DD HH:MI:SS') AS
`to_date('2020-4-14 13:00:00','yyyy-mm-dd hh:mi:ss')` FROM `gclusterdb`.`dual`

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
825
`vcname000001.gclusterdb.dual`
小时部分超过12,使用HH24 后,顺利格式化输出。
gbase> SELECT TO_DATE('2020-4-14 13:00:00','YYYY-MM-DD
HH24:MI:SS') FROM dual;
+-------------------------------------------------------+
| TO_DATE('2020-4-14 13:00:00','YYYY-MM-DD HH24:MI:SS') |
+-------------------------------------------------------+
| 2020-04-14 13:00:00
|
+-------------------------------------------------------+
1 row in set
下面的示例,用来说明GBase 8a MPP Cluster 的TO_DATE()函数灵活性。
gbase> SELECT TO_DATE('2020 1111','YYYY MISS') FROM dual;
+----------------------------------+
| TO_DATE('2020 1111','YYYY MISS') |
+----------------------------------+
| 2020-04-01 00:11:11
|
+----------------------------------+
1 row in set
示例7:string 和format 两个参数同时指定AM 或者PM。
gbase> SELECT TO_DATE('2020-4-15 8:15:20 AM','YYYY-MM-DD
HH:MI:SS AM') FROM dual;
+----------------------------------------------------------+
| TO_DATE('2020-4-15 8:15:20 AM','YYYY-MM-DD HH:MI:SS AM') |
+----------------------------------------------------------+
| 2020-04-15 08:15:20
|
+----------------------------------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020-4-15 8:15:20 PM','YYYY-MM-DD
HH:MI:SS PM') FROM dual;
+----------------------------------------------------------+
| TO_DATE('2020-4-15 8:15:20 PM','YYYY-MM-DD HH:MI:SS PM') |
+----------------------------------------------------------+
| 2020-04-15 20:15:20
|
+----------------------------------------------------------+
1 row in set
如果string 和format 两个参数指定的AM 或者PM 不一致,则以string 参数指定
的是AM 还是PM,进行格式化输出。
gbase> SELECT TO_DATE('2020-4-15 8:15:20 AM','YYYY-MM-DD
HH:MI:SS PM') FROM dual;

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
826
+----------------------------------------------------------+
| TO_DATE('2020-4-15 8:15:20 AM','YYYY-MM-DD HH:MI:SS PM') |
+----------------------------------------------------------+
| 2020-04-15 08:15:20
|
+----------------------------------------------------------+
1 row in set
gbase> SELECT TO_DATE('2020-4-15 8:15:20PM','YYYY-MM-DD
HH:MI:SS AM') FROM dual;
+---------------------------------------------------------+
| TO_DATE('2020-4-15 8:15:20PM','YYYY-MM-DD HH:MI:SS AM') |
+---------------------------------------------------------+
| 2020-04-15 20:15:20
|
+---------------------------------------------------------+
1 row in set
示例8:比较NOW()和TO_DATE(TO_CHAR(NOW(),'YYYY-MM-DD
HH:MI:SS'),'YYYY-MM-DD HH:MI:SS')。
gbase> SELECT NOW(),TO_DATE(TO_CHAR(NOW(),'YYYY-MM-DD
HH:MI:SS'),'YYYY-MM-DD HH:MI:SS') AS f_format FROM dual;
+---------------------+---------------------+
| NOW()
| f_format
|
+---------------------+---------------------+
| 2020-04-01 18:57:18 | 2020-04-01 06:57:18 |
+---------------------+---------------------+
1 row in set
TO_CHAR()省略掉分钟。
gbase> SELECT NOW(),TO_DATE(TO_CHAR(NOW(),'YYYY-MM-DD
HH:SS'),'YYYY-MM-DD HH:SS') AS f_format FROM dual;
+---------------------+---------------------+
| NOW()
| f_format
|
+---------------------+---------------------+
| 2020-04-01 18:57:34 | 2020-04-01 06:00:34 |
+---------------------+---------------------+
1 row in set
示例9:比较NOW()和TO_DATE(TO_CHAR(NOW(),'YYYY-MM-DD
HH:MI:SS'),'YYYY-MM-DD HH:MI:SS')。
gbase> SELECT NOW(),TO_DATE(TO_CHAR(NOW(),'YYYY-MM-DD
HH:MI:SS'),'YYYY-MM-DD HH:MI:SS') AS f_format FROM dual;
+---------------------+---------------------+
| NOW()
| f_format
|
+---------------------+---------------------+

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
827
| 2020-04-01 18:57:46 | 2020-04-01 06:57:46 |
+---------------------+---------------------+
1 row in set
TO_CHAR()省略掉秒。
gbase> SELECT NOW(),TO_DATE(TO_CHAR(NOW(),'YYYY-MM-DD
HH:MI'),'YYYY-MM-DD HH:MI') AS f_format FROM dual;
+---------------------+---------------------+
| NOW()
| f_format
|
+---------------------+---------------------+
| 2020-04-01 18:57:57 | 2020-04-01 06:57:00 |
+---------------------+---------------------+
1 row in set

4 |
| demo.tt
| demo
| tt
|
| 2020-07-29 18:31:39.3360
00 | 2020-07-29 18:31:41.430000 | COMPLETED |
100 |
5
| 172.168.83.14 |
4 |
+------------+---------+------------+----------+----------------------------+-------------------
---------+-----------+------------+----------+---------------+-----------------+
3 rows in set (Elapsed: 00:00:00.03)
gbase> quit
Bye