這個(gè)問(wèn)題在項(xiàng)目中是一個(gè)很重要的細(xì)節(jié),具體有兩種處理方式,主要取決于這個(gè)表是否需要進(jìn)行數(shù)據(jù)交換,以及這個(gè)時(shí)間字段如何使用,具體舉兩個(gè)例子吧:
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)弋江免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過(guò)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
一、使用varchar2型
1、如果這張表對(duì)時(shí)間的精度要求不高,比如只是到日。
2、該表需要經(jīng)常與其他表進(jìn)行數(shù)據(jù)交互,比較,查詢,并且其他表的時(shí)間精度不高于日(比如日、月、季度)
3、存儲(chǔ)大量數(shù)據(jù)用于統(tǒng)計(jì)分析,如本期、同期,累計(jì)值等。
存儲(chǔ)的時(shí)候需要格式化,例如:to_char(sysdate,'yyyy-mm-dd');
二、使用date型。
1、對(duì)時(shí)間精度要求較高,比如到秒;
2、需要與其他表做數(shù)據(jù)交互,更偏重于”準(zhǔn)實(shí)時(shí)“交互,比如每15秒同步一次數(shù)據(jù);
3、不用于統(tǒng)計(jì)分析(這點(diǎn)很重要,需要統(tǒng)計(jì)分析的話,強(qiáng)烈不建議使用date型);
4、該表數(shù)據(jù)不做物理刪除(刪除時(shí)只更新標(biāo)志位和刪除時(shí)間);
以上我這幾年的實(shí)際項(xiàng)目經(jīng)驗(yàn),希望可以幫到你。
update b to_date("20190101 09:09:02");
日期格式需要轉(zhuǎn)換,百度一下很多寫法。
更改格式對(duì)不對(duì),需要先用查看語(yǔ)句試一下,有時(shí)候會(huì)報(bào)錯(cuò)。
select to_date("20190101 09:09:02") from dual;
很簡(jiǎn)單的。
我感覺你應(yīng)該是不知道怎么寫每月和每年吧。其實(shí)很簡(jiǎn)單,把你下次時(shí)間的字符串拿出來(lái)看下就行。下面是代碼。
DECLARE
I4 INTEGER;I5 INTEGER;
BEGIN
--每月5號(hào)中午12點(diǎn)
DBMS_JOB.SUBMIT(I4,'YOUR PROC;',SYSDATE,'TRUNC(SYSDATE, ''MM'') + 4 + 12 / 24');
--每年1月10號(hào)中午12點(diǎn)
DBMS_JOB.SUBMIT(I5,'YOUR PROC;',SYSDATE,'TRUNC(SYSDATE, 'Y') + 9 + 12 / 24');
COMMIT;
END;
每天晚上6點(diǎn)到第二天早上8點(diǎn)的數(shù)據(jù)?
按照24小時(shí)制,那可以拆分為:18~24;1~8
試試這個(gè):
select * from tbl c
where
( to_char(c.date, 'hh24:mi:ss') = '18:00:00' and to_char(c.date, 'hh24:mi:ss') = '24:00:00')
or
( to_char(c.date, 'hh24:mi:ss') = '01:00:00' and to_char(c.date, 'hh24:mi:ss') = '08:00:00')
oracle job 時(shí)間每五分鐘執(zhí)行:
begin
sys.dbms_job.submit(job = :job,
what = '一個(gè)存儲(chǔ)過(guò)程;',
Interval =TRUNC(sysdate,'mi') + 5/ (24*60));
commit;
end;
其中:如果改成TRUNC(sysdate,'mi')+ 10/ (24*60) 就是每10分鐘執(zhí)行次。每秒鐘執(zhí)行次:Interval = sysdate+ 1/(24 * 60 * 60)。如果改成sysdate + 10/(24 *60 * 60)就是10秒鐘執(zhí)行次。
使用dbms_job.submit方法過(guò)程,這個(gè)過(guò)程有五個(gè)參數(shù):job、what、next_date、interval與no_parse:
1、job參數(shù)是輸出參數(shù),由submit()過(guò)程返回的binary_ineger,這個(gè)值用來(lái)唯一標(biāo)識(shí)一個(gè)工作。一般定義一個(gè)變量接收,可以去user_jobs視圖查詢job值。
2、what參數(shù)是將被執(zhí)行的PL/SQL代碼塊,存儲(chǔ)過(guò)程名稱等。
3、next_date參數(shù)指識(shí)何時(shí)將運(yùn)行這個(gè)工作。
4、interval參數(shù)何時(shí)這個(gè)工作將被重執(zhí)行。
5、no_parse參數(shù)指示此工作在提交時(shí)或執(zhí)行時(shí)是否應(yīng)進(jìn)行語(yǔ)法分析——true,默認(rèn)值false。指示此PL/SQL代碼在它第一次執(zhí)行時(shí)應(yīng)進(jìn)行語(yǔ)法分析,而FALSE指示本PL/SQL代碼應(yīng)立即進(jìn)行語(yǔ)法分析。
擴(kuò)展資料:
1、每天定時(shí)執(zhí)行
例如:每天的凌晨1點(diǎn)執(zhí)行
Interval =TRUNC(sysdate) + 1 +1/ (24)
2、每周定時(shí)執(zhí)行
例如:每周一凌晨1點(diǎn)執(zhí)行:
Interval =TRUNC(next_day(sysdate,'星期一'))+1/24
3、每月定時(shí)執(zhí)行
例如:每月1日凌晨1點(diǎn)執(zhí)行:
Interval=TRUNC(LAST_DAY(SYSDATE))+1+1/24
4、每季度定時(shí)執(zhí)行
例如每季度的第一天凌晨1點(diǎn)執(zhí)行:
Interval =TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24
參考資料來(lái)源:百度百科-Oracle系統(tǒng)
參考資料來(lái)源:百度百科-Oracle PL/SQL從入門到精通
1、創(chuàng)建測(cè)試表,
create table test_date(id number, times date);
2、插入測(cè)試數(shù)據(jù)
insert into test_date select level, sysdate-level/24/60 t from dual connect by level = 100;
commit;
3、查詢表中數(shù)據(jù),select t.* from test_date t;
4、編寫sql,獲取加5分鐘大于等于當(dāng)前系統(tǒng)時(shí)間的記錄; select t.* from test_date t where times+5/24/60=sysdate;
網(wǎng)站名稱:oracle怎么寫時(shí)間,oracle 日期時(shí)間
網(wǎng)頁(yè)路徑:http://vcdvsql.cn/article40/hspheo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、服務(wù)器托管、外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、網(wǎng)站建設(shè)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)