oracle 日期輸入

2021-09-30 07:26:20 字數 1658 閱讀 1081

sql> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';

會話已更改。

sql> select to_date('2006-05-01 19:25:34', 'yyyy-mm-dd hh24:mi:ss') from dual;

to_date('2006-05-01

-------------------

2006-05-01 19:25:34

sql> select to_date('2006-05-01 19:25', 'yyyy-mm-dd hh24:mi') from dual;

to_date('2006-05-01

-------------------

2006-05-01 19:25:00

sql> select to_date('2006-05-01 19', 'yyyy-mm-dd hh24') from dual;

to_date('2006-05-01

-------------------

2006-05-01 19:00:00

sql> select to_date('2006-05-01', 'yyyy-mm-dd') from dual;

to_date('2006-05-01

-------------------

2006-5-1

sql> select to_date('2006-05', 'yyyy-mm') from dual;

to_date('2006-05','

-------------------

2006-5-1

sql> select to_date('2006', 'yyyy') from dual;

to_date('2006','yyy

-------------------

2006-1-1

當省略hh、mi和ss對應的輸入引數時,oracle使用0作為default值。如果輸入的日期資料忽略時間部分,oracle會將時、分、秒部分都置為0,也就是說會取整到日。

同樣,忽略了dd引數,oracle會採用1作為日的預設值,也就是說會取整到月。

但是,不要被這種「慣性」所迷惑,如果忽略mm引數,oracle並不會取整到年,取整到當前月。

注意:1.在使用oracle的to_date函式來做日期轉換時,可能會直覺地採用「yyyy-mm-dd hh:mm:ss」的格式作為格式進行轉換,但是在oracle中會引起錯誤:「ora 01810 格式**出現兩次」。如:select to_date('2005-01-01 13:14:20','yyyy-mm-dd hh24:mm:ss') from dual;

原因是sql中不區分大小寫,mm和mm被認為是相同的格式**,所以oracle的sql採用了mi代替分鐘。select to_date('2005-01-01 13:14:20','yyyy-mm-dd hh24:mi:ss') from dual;

2.另要以24小時的形式顯示出來要用hh24

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;//mi是分鐘

select to_char(sysdate,'yyyy-mm-dd hh24:mm:ss') from dual;//mm會顯示月份

Oracle日期格式

日期處理完全版 to date格式 day dd number 12 dy abbreviated fri day spelled out friday ddspth spelled out,ordinal twelfth month mm number 03 mon abbreviated mar...

oracle 日期查詢

1.string hql select substr to char create time,yyyy mm dd hh24 mm ss 1,10 count createtime from sitebean where to char createtime,yyyy mm dd to char t...

Oracle 日期格式

oracle 獲取當前時間的月份 select extract year from sysdate from dual oracle 日期引數 今天 select to char sysdate,yyyy mm dd from dual 昨天 select to char sysdate 1,yyy...