Oracle常用語句集合 日期篇

2021-09-30 01:33:57 字數 2008 閱讀 3302

一、to_char() 與 to_date()函式

1. to_char()

將時間日期按照指定的格式輸出,得到的是字串,而非date型別。

select sysdate,to_char(sysdate, 'yyyy-mm-dd')from dual;

select sysdate,to_char(sysdate, 'yyyy/mm/dd')from dual;

select sysdate,to_char(sysdate, 'yyyymmdd')from dual;

select sysdate,to_char(sysdate, 'yyyymmdd hh24:mi:ss')from dual;

查詢結果

2019-11-11 13:59:50 2018-12-29

2019-11-11 13:59:50 2018/12/29

2019-11-11 13:59:50 20181229

2019-11-11 13:59:50 20181229 13:59:50

也可以用to_char()得到單獨的年月日時分秒的字串

select sysdate,to_char(sysdate,'yyyy')from dual;

select sysdate,to_char(sysdate,'mm')from dual;

select sysdate,to_char(sysdate,'hh24')from dual;

select sysdate,to_char(sysdate,'mi')from dual;

2019-11-11 13:59:50 2018

2019-11-11 13:59:50 12

2019-11-11 13:59:50 13

2019-11-11 13:04:50 04

因為結果是字串,所以0不能省略,特別在where語句中,

where to_char(sysdate,'mi') = 『04』

0省略了就查不到資料。

2. to_date()

將字串轉換為具體指定的時間日期格式

select sysdate,to_date('20190103','yyyymmdd')from dual;

select sysdate,to_date('20190103','yyyy-mm-dd')from dual;

select sysdate,to_date('20190103','yyyy/mm/dd')from dual;

select sysdate,to_date('20190103','yyyy-mm-dd hh24:mi:ss')from dual;

查詢結果

2019/01/03 17:20:27 2019/01/03

2019/01/03 17:20:27 2019/01/03

2019/01/03 17:20:27 2019/01/03

2019/01/03 17:20:27 2019/01/03

注:to_date()得到的日期格式是和系統的日期格式保持一致;

得到的時間為當天的 00 :00:00。

二、時間戳轉換為date格式

select to_char(時間戳的那一列 / (1000 * 60 * 60 * 24) + to_date('1970-01-01 08:00:00', 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd') 

as createtime from 表名 ; 

原理: 用to_date函式將字串』1970-01-01 08:00:00』轉換為日期作為起始時間,同時將時間戳轉換為天數,在此基礎上將兩者相加,即為該時間戳對應的具體日期時間,最後擷取我們需要的日期部分,並且取名為createtime。

需要注意幾點:

1.採用to_char函式轉換為字串是為了後期進行傳輸;

2.從八點開始計算是採用北京時間;

3.以24小時的形式顯示出來要用hh24;

4.oracle資料庫中不區分大小寫,為了將分鐘和月份區分開來,將分鐘用mi表示;

oracle常用語句(日期 金額)

獲得一月的第一天select trunc sysdate,mm from dual 獲得一月的最後一天select last day trunc sysdate from dual 獲得一周的第一天select trunc to date 2013 10 01 yyyy mm dd d 1 from...

oracle 常用語句

oracle 產看表空間 select total.name tablespace name free space,total space free space used space,total space from select tablespace name,sum bytes 1024 102...

oracle常用語句

drop tablespace crm online space including contents and datafiles 刪除表空間 drop user wuliu01 cascade 刪除使用者 exp orcl file d dmp 匯出資料庫 imp orcl file e alen...