這個(gè)問(wèn)題在項(xiàng)目中是一個(gè)很重要的細(xì)節(jié),具體有兩種處理方式,主要取決于這個(gè)表是否需要進(jìn)行數(shù)據(jù)交換,以及這個(gè)時(shí)間字段如何使用,具體舉兩個(gè)例子吧:
創(chuàng)新互聯(lián)從2013年成立,先為五華等服務(wù)建站,五華等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為五華企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
一、使用varchar2型
1、如果這張表對(duì)時(shí)間的精度要求不高,比如只是到日。
2、該表需要經(jīng)常與其他表進(jìn)行數(shù)據(jù)交互,比較,查詢(xún),并且其他表的時(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),希望可以幫到你。
步驟:
1,單擊桌面右下角的日期時(shí)間位置,在出現(xiàn)的界面點(diǎn)擊“日期和時(shí)間設(shè)置”
,2,在日期和時(shí)間界面,點(diǎn)擊“更改日期和時(shí)間”
3,在新打開(kāi)的日期和時(shí)間設(shè)置界面點(diǎn)擊“更改日歷設(shè)置”
4,在自定義格式設(shè)置界面中,將“短日期”設(shè)置為如下圖所示格式,點(diǎn)擊“確定”按鈕
5,返回到了區(qū)域和語(yǔ)言界面,,可以看到設(shè)置后的時(shí)間和日期格式,一步步返回點(diǎn)擊“確定”按鈕即可。
update 表 set 時(shí)間 = 時(shí)間 +/- 天 where 條件
比如把時(shí)間為今天的數(shù)據(jù)提前一天就是:
update 表 set 時(shí)間 = 時(shí)間 -1 where trunc(時(shí)間) = '2017/05/12'
如果想退后1小時(shí)14分鐘
那就update 表 set 時(shí)間= 時(shí)間 + 1/24+14/1440 where ....
因?yàn)橐惶?4小時(shí),一個(gè)小時(shí)就是1/24。沒(méi)有特定格式要求,分?jǐn)?shù)小數(shù)都可以
1.臨時(shí)修改
SQL alter session set nls_date_format='yyyymmdd';
這種方法只能改掉在當(dāng)前會(huì)話里的日期顯示格式,當(dāng)重新建立一個(gè)會(huì)話的時(shí)候,必須重新執(zhí)行該命令。
2.改變oracle默認(rèn)的日期顯示格式
ON UNIX :
change .profile NSL_DATE_FORMAT=YYYYMMDD;
export NLS_DATE_FORMAT
On windows:
在注冊(cè)表的KEY_LOCAL_MACHINE-SOFTWARE-ORACLE-HOME0
添加字串值NLS_DATE_FORMAT.將其值設(shè)為YYYY-MM-DD-HH24:MI:SS.
或者:initsid.ora 中添加NLS_DATE_FORMAT=yyyy-mm-dd hh24:mi:ss。同時(shí)去掉注冊(cè)表中的NLS_LANG字串值
我采用的修改注冊(cè)表的方法。
先可以用:select * from v$NLS_Parameters;查詢(xún)一下:NLS_DATE_FORMAT 值應(yīng)該為:YYYY-MM-DD HH24:MI:SS
還有一個(gè)方法就是利用函數(shù):to_date('2010-01-01','yyyy-mm-dd')
在sql*plus中修改當(dāng)前會(huì)話的日期格式。
將當(dāng)前會(huì)話的時(shí)間格式修改為這種格式: 2003-01-28 15:23:38,即四位年-兩位月-兩位日,空格,24小時(shí)的制的小時(shí):分鐘:秒。這種修改方法,只對(duì)當(dāng)前會(huì)話有效。注意,是對(duì)當(dāng)前會(huì)話,而不是當(dāng)前的sql*plus窗口。即如果你這樣修改之后,又使用connect命令以其他用戶(hù)連接到數(shù)據(jù)庫(kù)或者是連接到其他的數(shù)據(jù)庫(kù),則這個(gè)日期格式就失效了,又恢復(fù)到缺省的日期格式。
修改注冊(cè)表。在注冊(cè)表/hkey_local_machine/software/oracle/home0主鍵中增加一個(gè)字串(8i版本),字串名為nls_date_format,字串的值為你希望定義的時(shí)間格式,如: yyyy-mm-dd hh24:mi:ss ,然后重新啟動(dòng)。
Linux下:oracle用戶(hù)編輯 加入以下內(nèi)容:export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS '?重新登錄即可生效。
用sysdba登錄。然后更新props$這個(gè)表里的字段即可。