Oracle日期与时间拼接函数以及时间处理函数- -干货
1.时间处理函数
在工作过程中是否有遇到源数据的时间存储为Integer类型的时间格式,如下:
序号
T_TIME_1
1
63272
2
55066
3
55975
4
31394
5
42465
6
56309
7
37965
8
30757
9
37018
10
30092
通过下面的这个函数
CREATE OR REPLACE FUNCTION DATE_SPLICING_SECEND (SECONDS INTEGER)RETURN VARCHAR2 AS
V_SECONDS VARCHAR2(100):= SECONDS;
BEGIN
IF (V_SECONDS < 24 * 3600)
THEN
RETURN TO_CHAR(TO_DATE(MOD(V_SECONDS, 3600 * 24), 'sssss'), 'hh24":"mi":"ss');
ELSE
RETURN TRUNC(SECONDS / 3600 / 24) || '天' ||
TO_CHAR(TO_DATE(MOD(V_SECONDS, 3600 * 24), 'sssss'), 'hh24":"mi":"ss');
END IF;
END DATE_SPLICING_SECEND;
则可变为如下效果:
序号
T_TIME_1
TIME_1
1
63272
17:34:32
2
55066
15:17:46
3
55975
15:32:55
4
31394
08:43:14
5
42465
11:47:45
6
56309
15:38:29
7
37965
10:32:45
8
30757
08:32:37
9
37018
10:16:58
10
30092
08:21:32
2.日期与时间的拼接函数
拼接前:
序号
T_DATE
T_TIME
1
2019/1/28
07:49:06
2
2020/4/21
15:01:16
3
2019/1/24
09:25:53
4
2019/1/11
08:59:59
5
2020/4/16
07:15:28
6
2019/2/24
15:54:26
7
2020/1/15
14:50:20
8
2019/1/5
3:23:40
9
2020/2/16
16:55:29
10
2019/1/10
8:29:53
拼接后:
序号
T_DATE
T_TIME
DATE_TIME
1
2019/1/28
07:49:06
2019/1/28 7:49:06
2
2020/4/21
15:01:16
2020/4/21 15:01:16
3
2019/1/24
09:25:53
2019/1/24 9:25:53
4
2019/1/11
08:59:59
2019/1/11 8:59:59
5
2020/4/16
07:15:28
2020/4/16 7:15:28
6
2019/2/24
15:54:26
2019/2/24 15:54:26
7
2020/1/15
14:50:20
2020/1/15 14:50:20
8
2019/1/5
3:23:40
2019/1/5 13:23:40
9
2020/2/16
16:55:29
2020/2/16 16:55:29
10
2019/1/10
8:29:53
2019/1/10 8:29:53
实现函数:
CREATE OR REPLACE FUNCTION DATE_SPLICING(P_DATE DATE,
P_TIME VARCHAR) RETURN DATE AS
/* 声明两个变量存放日期和时间,返回值设置为DATE类型 */
V_DATE DATE := P_DATE; --日期
V_TIME VARCHAR2(10) := P_TIME; --时间
BEGIN
IF V_DATE IS NOT NULL
THEN
RETURN TO_DATE(TO_CHAR(V_DATE, 'YYYY-MM-DD') || V_TIME, 'YYYY-MM-DD HH24:MI:SS');
ELSE
RETURN NULL;
END IF;
END DATE_SPLICING;
–本文是发表的第一篇Blog,不适之处尽情谅解。
标签:24,15,16,DATE,拼接,2019,Oracle,2020,处理函数
来源: https://blog.csdn.net/weixin_45052655/article/details/105865515