oracle 文字與格式字串不匹配

2021-08-17 19:14:09 字數 1022 閱讀 9764

一、引言

寫sql語句插入資料庫不可避免的會插入時間字段,當在給oracle設定時間欄位為date時,經常會出現格式問題。

最開始插入sql語句為

[sql]view plain

copy

"font-family:'microsoft yahei';"

>"font-size:18px;"

>

insert

into

t_user (f_id,f_name,f_pw,f_role,f_tel,f_time,f_permission) 

values

('123d'

,'asdf'

,'123'

,1,'13821541254'

,'2017-02-08 16:39:23'

,'1,1,1,1,0'

);  

遇到錯誤為:

[err] ora-01861: 文字與格式字串不匹配

後來找到原因是因為插入的時間欄位要通過oracle自帶的to_date按照規定的格式轉換一下,其實比較簡單,已經掛了兩次了,特地寫了篇博記住==老了記憶力不行了啊==

下面是修改後的sql

[sql]view plain

copy

"font-family:'microsoft yahei';"

>"font-size:18px;"

>

insert

into

t_user (f_id,f_name,f_pw,f_role,f_tel,f_time,f_permission) 

values

('123d'

,'asdf'

,'123'

,1,'13825412541'

,to_date(

'2017/02/01'

, 'yyyy-mm-dd hh24:mi:ss'

),'1,1,1,1,0'

);  

Oracle提示文字與格式字串不匹配

原因 如果直接輸入日期,沒有指定日期格式,就會導致插入的時間格式和資料庫現有的時間格式不一致,從而報錯。如下圖 create table stu con 學號 char 4 姓名 char 9 性別 char 3 出生日期 date,家庭住址 varchar2 50 constraint pk si...

ORA 01861 文字與格式字串不匹配

解決方法 這樣的插入的時候就不會報這個ora 01861 insert into lduser usercode,username,comcode,password,operator,makedate,maketime,validstartdate,validenddate,pwdflagdate ...

ORA 01861 文字與格式字串不匹配

現象 oracle 查詢時間時 報錯 ora 01861 文字與格式字串不匹配 解決 資料庫中儲存的日期格式有問題。1 11月 17 修復錯誤資料 oracle將字串轉換為日期時,需要乙個格式 比如 yyyy mm dd 次格式就是待轉換的字串的格式,如果你沒有寫格式,那oracle就會採用nls ...