你好,Oracle中日期類型是date類型,sql語句中是區(qū)分類型的,也就是說雖然形勢上'2012-12-21'是一個(gè)日期,但是它在Oracle中卻是實(shí)實(shí)在在的字符串類型,所以不能插入到date類型的字段里,解決方法就是將日期字符串轉(zhuǎn)換成date類型就可以了,這里可以使用to_date函數(shù),如:
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)黃州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
insert into tablename (date_column) values(to_date('2012-12-21','yyyy-mm-dd') )。
to_date里需要兩個(gè)參數(shù),第一個(gè)是日期字符串,可以在程序中拼好(Java或者其他高級(jí)程序語言想實(shí)現(xiàn)這一點(diǎn)都是很容易的);第二個(gè)參數(shù)是日期的格式,'yyyy-mm-dd'的意思是想要4位的年份,兩位的月份(比方說如果為2,則保存為:02)和兩位的日期(這個(gè)意義和月份相同,假如為4號(hào),則保存為04)。如果想要其他的格式或者想插入具體的時(shí)分秒時(shí)間都是可以的,比如:
to_date('2012-12-21 12:12:12','yyyy-mm-dd hh24:mi:ss')后邊的24代表使用24時(shí)制時(shí)間。夠明白吧!
有關(guān)日期的操作中,更多的是涉及系統(tǒng)當(dāng)前時(shí)間,用sysdate表示即可,如果是插入其他非系統(tǒng)時(shí)間的日期類型數(shù)據(jù)的話,用to_date轉(zhuǎn)換再插入就可以了。
例:1 insert into 表(c_date) values(to_date('20120927 20:09:47','YYYYMMDD HH24:MI:SS'));
另外:有些日期字段中會(huì)有一些默認(rèn)數(shù)據(jù),所以to_date還是挺有用的。如:
1 startdate date DEFAULT to_date('2000-01-01','yyyy-mm-dd')!
能的,時(shí)間戳的優(yōu)點(diǎn)是可以存儲(chǔ)帶有小數(shù)位的秒,還可以存儲(chǔ)時(shí)區(qū) 使用時(shí)間間隔interval,時(shí)間間隔可以存儲(chǔ)時(shí)間的長度。如1年零3個(gè)月等。
Oracle數(shù)據(jù)庫插入日期型數(shù)據(jù)的方法
racle數(shù)據(jù)庫插入日期型數(shù)據(jù),應(yīng)該怎么下手呢?下面我為大家整理了關(guān)于Oracle數(shù)據(jù)庫插入日期型數(shù)據(jù)的方法,希望能為你提供幫助:
往Oracle數(shù)據(jù)庫中插入日期型數(shù)據(jù)(to_date的用法)
INSERT INTO FLOOR VALUES ( to_date ( '2007-12-20 18:31:34' , 'YYYY-MM-DD HH24:MI:SS' ) ) ;
查詢顯示:2007-12-20 18:31:34.0
-------------------
INSERT INTO FLOOR VALUES ( to_date ( '2007-12-14 14:10' , 'YYYY-MM-DD HH24:MI' ) );
查詢顯示:2007-12-14 14:10:00.0
-------------------
INSERT INTO FLOOR VALUES ( to_date ( '2007-12-14 14' , 'YYYY-MM-DD HH24' ) );
查詢顯示:2007-12-14 14:00:00.0
-------------------
INSERT INTO FLOOR VALUES ( to_date ( '2007-11-15' , 'YYYY-MM-DD' ) );
查詢顯示:2007-11-15 00:00:00.0
-------------------
INSERT INTO FLOOR VALUES ( to_date ( '2007-09' , 'YYYY-MM' ) );
查詢顯示:2007-09-01 00:00:00.0
-------------------
INSERT INTO FLOOR VALUES ( to_date ( '2007' , 'YYYY' ) );
查詢顯示:2007-05-01 00:00:00.0
-------------------
當(dāng)省略HH、MI和SS對(duì)應(yīng)的.輸入?yún)?shù)時(shí),Oracle使用0作為DEFAULT值。
如果輸入的日期數(shù)據(jù)忽略時(shí)間部分,Oracle會(huì)將時(shí)、分、秒部分都置為0,也就是說會(huì)取整到日。
同樣,忽略了DD參數(shù),Oracle會(huì)采用1作為日的默認(rèn)值,也就是說會(huì)取整到月。
但是,不要被這種“慣性”所迷惑,如果忽略MM參數(shù),Oracle并不會(huì)取整到年,而是取整到當(dāng)前月。 ;
insert into 表名 (DATE型字段名) values(to_date('2013-01-31 06:59:44','yyyy-mm-dd hh24:mi:ss')) ;
兩種方法
1.在數(shù)據(jù)庫直接用oracle的當(dāng)前系統(tǒng)時(shí)間函數(shù) sysdate。想精確到秒的話可以在sql中這樣寫
to_char(sysdate , 'yyyy/mm/dd hh24:mi')
2.在web程序中獲取時(shí)間,插入數(shù)據(jù)庫。
Date date= new Date();
SimpleDateFormat sd= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = sd.format(date);
System.out.println(now);
//這里的now是String型的。如果想獲要date型的,直接 System.out.println(date);
網(wǎng)站欄目:oracle怎么存時(shí)間 oracle 現(xiàn)在的時(shí)間
標(biāo)題來源:http://jinyejixie.com/article42/hepghc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、面包屑導(dǎo)航、品牌網(wǎng)站建設(shè)、App開發(fā)、云服務(wù)器、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)