各种数据库日期函数的使用

#各种数据库日期函数的使用

场景:在日常开发中使用了各种数据库,经常容易弄混,整理各数据库日期函数处理的方式

一.mysql/txsql/tidb/oceanbase数据库
0.获取当前时间
select sysdate(); 
2024-10-24 20:43:19.0
select now(); 
2024-10-24 20:43:33.0
select current_date(); 
2024-10-24
select current_time(); 
20:44:07
select current_timestamp(); 
2024-10-24 20:44:20.0

1.日期加减
select date_add(current_date(), interval -1 day)
2024-10-24
select date_add(current_date(), interval -1 month)
2024-09-25

2.日期转字符串
select DATE_FORMAT(sysdate(),'%Y-%m-%d')
2024-10-25
select DATE_FORMAT(sysdate(),'%Y-%m-%d %T')
2024-10-25 09:24:13
select DATE_FORMAT(sysdate(),'%Y-%m-%d %H:%i:%S')
2024-10-25 09:27:39

3.字符串转日期
select str_to_date('2024-12-12 12:12:12','%Y-%m-%d %H:%i:%S') 
2024-12-12 12:12:12
4.时间戳
select unix_timestamp(); 
1729819878

二.oracle数据库
0.获取当前时间
select CURRENT_DATE FROM dual;
2024-10-24 20:45:40.000
select CURRENT_TIMESTAMP FROM dual;
2024-10-24 20:46:17.859
SELECT SYSDATE FROM dual;
2024-10-25 09:16:45.000

1.日期加减
SELECT TO_DATE(TO_CHAR(SYSDATE - 3,'YYYYMMDD'),'YYYYMMDD') FROM dual;
2024-10-22 00:00:00.000
SELECT ADD_MONTHS(SYSDATE,1)  FROM dual;
2024-11-25 09:36:53.000
SELECT SYSTIMESTAMP  FROM dual;
2024-10-25 09:40:43.431

2.日期转字符串
SELECT to_char(SYSDATE,'YYYYMMDD') FROM dual;
20241025
SELECT to_char(SYSDATE,'YYYY-MM-DD HH:mi:SS') FROM dual;
2024-10-25 09:38:29
SELECT to_char(SYSDATE,'YYYY-MM-DD HH24:mi:SS') FROM dual;
2024-10-25 09:38:47

3.字符串转日期
SELECT to_date('2024-10-25','YYYY-MM-DD') FROM dual;
2024-10-25 00:00:00.000

4.时间戳
SELECT (SYSDATE - to_date('1970-01-01 08','YYYY-MM-DD HH24'))* 86400 FROM dual;
1729820650.999999999999999999999999999997



三.gauss数据库
0.获取当前时间
select sysdate(); 
2024-10-25 09:46:17
select now(); 
2024-10-25 09:46:17
select current_date(); 
2024-10-25
select current_time(); 
09:46:37
select current_timestamp(); 
2024-10-25 09:46:43

1.日期加减
select date_add(SYSDATE, 1)
2024-10-26 09:48:42
SELECT SYSDATE + integer '7' AS RESULT;
2024-11-01 09:50:26
SELECT SYSDATE + INTERVAL '7 day' AS RESULT;
2024-11-01 09:51:36
SELECT SYSDATE + INTERVAL '7 hour' AS RESULT;
2024-10-25 16:51:42
SELECT SYSDATE + INTERVAL '1 MONTH' AS RESULT;
2024-11-25 09:52:00

2.日期转字符串
SELECT to_char(SYSDATE,'YYYYMMDD') FROM dual;
20241025
SELECT to_char(SYSDATE,'YYYY-MM-DD HH:mi:SS') FROM dual;
2024-10-25 09:38:29
SELECT to_char(SYSDATE,'YYYY-MM-DD HH24:mi:SS') FROM dual;
2024-10-25 09:38:47

3.字符串转日期
SELECT to_date('2024-10-25','YYYY-MM-DD') FROM dual;
2024-10-25 00:00:00.000

4.时间戳

四.hive数据仓库
0.获取当前时间
select current_date(); 
2024-10-25
select current_timestamp(); 
2024-10-25 15:46:03.703 

1.日期加减
select date_add(current_timestamp(), 1);
2024-10-26

2.日期转字符串
select DATE_FORMAT(current_timestamp(),'yyyyMMdd');
20241025
select DATE_FORMAT(current_timestamp(),'yyyy-MM-dd hh:mm:ss');
2024-10-25 03:49:49
select DATE_FORMAT(current_timestamp(),'yyyy-MM-dd HH:mm:ss');
2024-10-25 15:50:14

3.字符串转日期
select substring(current_timestamp(), 1, 10);
2024-10-25
select substring(current_timestamp(), 1, 19);
2024-10-25 15:51:16

4.时间戳
select unix_timestamp();
1729842461
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值