Oracle添加數據報文字與格式字符串不匹配錯誤


     今天在學習Oracle時碰到一個錯:文字與格式字符串不匹配。

 

我在Oracle數據庫中創建了一張表:

--創建員工表employee
create table employee
(
   empon number(4) not null,--員工編號
   ename varchar2(10),--員工姓名
   job varchar2(9),--員工工種
   mgr number(4),--上級經理編號
   hiredate date,--受雇日期
   sal number(7,2),--員工薪水
   comm number(7,2),--福利
   deptno number(2)--部門
  );

然后我想通過代碼的方式向這張員工表中插入一條數據,我想這應該很簡單吧,不就是一條insert語句嗎。

於是我是這樣寫的:

insert into employee values(1237,'李四','未知',1223,'2016-7-30 13:07:24',7000,400,5)

但是寫完過后,一執行就一直報這個錯,好燒腦,最后終於找到解決方案了。

   解釋:

           向oracle表插入時間格式的數據是一個相對來講比較麻煩的事情,要么你嚴格遵從當前會話的時間格式書寫你的時間值,要么使用轉換函數自定義時間數據的格式。

有兩個與時間相關的轉換函數:to_char 和 to_date .   to_char(時間值,時間格式)函數將時間值轉換為字符串形式,通常在查詢中使用;to_date(字符串,時間格式)

則把格式字符串轉換時間值,通常在insert 語句中使用。

所以我們把sql語句改成這樣就完美的解決了問題:

  

insert into employee values(1237,'李四','未知',1223,to_date('2016-7-30 13:07:24','yyyy/mm/dd HH24:MI:SS'),7000,400,5)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM