1樓:匿名使用者
這個問題在專案中是一個很重要的細節,具體有兩種處理方式,主要取決於這個表是否需要進行資料交換,以及這個時間欄位如何使用,具體舉兩個例子吧:
一、使用varchar2型
1、如果這張表對時間的精度要求不高,比如只是到日。
2、該表需要經常與其他表進行資料互動,比較,查詢,並且其他表的時間精度不高於日(比如日、月、季度)
3、儲存大量資料用於統計分析,如本期、同期,累計值等。
儲存的時候需要格式化,例如:to_char(sysdate,'yyyy-mm-dd');
二、使用date型。
1、對時間精度要求較高,比如到秒;
2、需要與其他表做資料互動,更偏重於」準實時「互動,比如每15秒同步一次資料;
3、不用於統計分析(這點很重要,需要統計分析的話,強烈不建議使用date型);
4、該表資料不做物理刪除(刪除時只更新標誌位和刪除時間);
以上我這幾年的實際專案經驗,希望可以幫到你。
2樓:我tm不管
設定成date欄位型別,插入資料需這樣:
insert into table (a) values (to_date('1983-05-01','yyyy-mm-dd'))
3樓:
如果你是想臨時在你的會話中顯示 用,則
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
則你的會話中涉及日期的值,會顯示為 4位年-兩位月-兩位日 24小時:兩位分鐘:兩位秒。
alter session set nls_date_format='yyyy-mm-dd';
則你的會話中涉及日期的值,會顯示為 4位年-兩位月-兩位日。
如果是想讓所有的使用者在會話中均顯示同一格式,則可以定義作業系統的環境變數
nls_date_format='yyyy-mm-dd hh24:mi:ss'
比如,unix , linux 上,ksh 下,使用 export
nls_date_format='yyyy-mm-dd hh24:mi:ss'
windows 上,在系統的環境變數中新增 .
oracle 中如何將日期中年月日擷取到年月
4樓:匿名使用者
1、建立測試
bai表,create table test_date(v_date date);
2、插入測試資料du,
insert into test_date
select sysdate - level * 10 from dual connect by level < 100
3、查詢
zhi表中所有記錄
dao,select * from test_date,可以看到時間格回式為年月日時分秒,答
4、編寫sql,將時間擷取到年月,
select t.*,
to_char(v_date, 'yyyymm') v_date_mon1,
trunc(v_date, 'mm') v_date_mon2
from test_date t
5樓:匿名使用者
字串bai型別的話,有兩種辦法
du(1)to_date然後擷取。to_char(to_date(欄位zhi,'yyyy-mm-dd'),'yyyy-mm')
(2)用instr定位第二個-,然dao後位置減一,在內用substr擷取就可以
容。substr(欄位,1,instr(欄位,'-',1,2)-1)
6樓:
oracle 中有自帶的兩個函式,to_char() 和to_date(),樓主你上面問題,內具體寫法如下:
容select to_char(to_date('2018-12-27','yyyy-mm-dd'),'yyyy-mm') result from dual;
oracle 資料庫日期格式怎麼只要年月日
7樓:匿名使用者
可通過用pl/sql來改變日期格式。
1、登入pl/sql。
2、登入後,點選選單欄,工具—首選項。
3、左側列表找到「日期/時間」。
4、可通過右側的各種方式進行自定義的格式和自帶的格式來進行修改,修改後點選「確定」按鈕儲存即可。
8樓:千鋒教育
1、oracle的日期格式
oracle資料預設的時間格式資料的顯示形式,與所使用的字符集有關。一般顯示年月日,而不顯示時分秒。
例如使用us7ascii字符集(或者是其他的英語字符集)時,預設的時間格式顯示為:28-jan-2003。
使用zhs16gbk字符集(或其他中文字符集)時時間格式預設顯示為:2003-1月-28。
向表中插入資料時,如果不使用轉換函式,則時間欄位的格式必須遵從會話環境的時間格式,否則不能插入。
檢視當前會話的時間格式,可以使用以下的sql語句:
sql> select sysdate from dual;
2、修改oracle日期格式的方法:
(1)在sql*plus中修改當前會話的日期格式;
sql> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
將當前會話的時間格式修改為這種格式: 2003-01-28 15:23:
38,即四位年-兩位月-兩位日,空格,24小時的制的小時:分鐘:秒,這種修改方法,只對當前會話有效。
(2)修改登錄檔(只對windows系統);
在登錄檔/hkey_local_machine/software/oracle/home0主鍵中增加一個字串(8i版本),字串名為nls_date_format,字串的值為你希望定義的時間格式,如: yyyy-mm-dd hh24:mi:
ss ,然後重新啟動sql*plus。
這種修改方法,對sql*plus視窗有效,即不論你開啟多少個sql*plus視窗,預設的都是這種時間格式。修改伺服器端的登錄檔無效,只有修改客戶端的登錄檔才有效。
(3)linux 下:oracle使用者編輯 .bash_profile下 加入以下內容;
export nls_date_format='yyyy-mm-dd hh24:mi:ss ',重新登入即可生效。
(4)用sysdba登入,然後更新props$這個表裡的欄位即可。
update props$ set value = 'yyyy-mm-dd hh24:mi:ss' where parameter = 'nls_date_format'。
我想用oracle資料庫中分別提取出date年月日和時間,該怎麼寫?
9樓:
1、因為oracle執行在linux系統下,首先,要連線linux系統。
2、切換到oracle安裝使用者下。 我的是 oracle。
3、執行oracle的環境變數, 以便輸入相關命令。
4、進入oracle控制檯。輸入命令: sqlplus / as sysdba。
5、關閉資料庫, 輸入命令: shutdown immediate。
10樓:匿名使用者
你可以用上面to_char方式,也可以用substr方式。或者你可以選擇get函式方式,這三種都行,要是格式確定的話,建議最好是現在substr,這個函式可以任意擷取
11樓:匿名使用者
獲取系統日期: sysdate()
格式化日期: to_char(sysdate(),'yy/mm/dd hh24:mi:ss)
或 to_date(sysdate(),'yy/mm/dd hh24:mi:ss)
12樓:匿名使用者
用to_char()吧,
to_char(date,'yyyy')--年to_char(date,'mm')--月to_char(date,'dd')--日to_char(date,'hh')--小時to_char(date,'mi')--分to_char(date,'ss')--秒可以隨意組合
比如to_char(date,'yyyy-mm-dd hh24:mi:ss')
也可以to_char(date,'yyyy ss')
13樓:一渴望知識
to_data('yyyy-mm-dd hh:mm:ss');
14樓:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowtime from dual;
oracle中如何獲得日期中的年份?
15樓:啦啦啦額
以下列舉兩種方式在在oracle中獲得日期中的年份,例如把sysdate中的年份取出來。
1、select to_number(to_char(sysdate,'yyyy')) from dual
例項**:
select
to_number(to_char(t.hiredate,'yyyy'))as 入職年,
from emp t;
執行結果:
2、使用extract函式,select extract(year from sysdate) from dual,這種方法省掉了型別轉換,
看上去更加簡潔。此方法獲得的結果,是數值型
例項**:
select
extract(year from t.hiredate) as入職年,
from emp t ;
執行結果:
16樓:小可心u3f碩忘
在oracle中,要獲得日期中的年份,例如把sysdate中的年份取出來,並不是一件難事。常用的方法是:select to_number(to_char(sysdate,'yyyy')) from dual,而實際上,oracle本身有更好的方法,那就是使用extract函式,使用方法是:
select extract(year from sysdate) from dual,這種方法省掉了型別轉換,看上去更加簡潔。相應的,要取得月份或日,可以用select extract (month from sysdate) from dual和select extract (day from sysdate) from dual。
此方法獲得的結果,是數值型的,你可以設定一個方法測試一下。
年月日分別對照五行中的那些,年月日時辰與五行的關係?
天於五行 復甲乙東方制木 庚辛西方金 丙丁南方火 壬癸北方水 戊已 土 地支五行 亥子北方水 寅卯東方木 巳午南方火 申酉西方金 辰 戍 醜 未四隅土 年月日時變成八字 也叫四柱 每柱一干一地支 再對應五行 年 月 日 時辰與五行的關係?以前中國古代是用紀年曆法計算時間。也就是甲子曆法。以此曆法是由...
ecel中如何把日期的年月日改為橫槓
選中單元格,右擊選擇 設定單元格格式 選擇 日期 點選選擇第3行,點選確定。具體操作步驟如下 選擇要修改日期的單元格,右擊選擇設定單元格格式。2.選擇 日期 型別。3.選擇第3行,單擊確定。4.修改後效果。excel如何將無分隔線日期轉換為橫線日期 在excel的編輯欄點選公式,出現幾個子項,再點選...
英文中表達年月日有多少種方式,在英語中,如何表達年月日?
一 在英國英語中,通常可有兩種表達法。即62616964757a686964616fe78988e69d8331333431366330 以 1988年5月2日 為例 1 寫法 the 2 nd may,1988 讀法 the second of may,ni een eighty eight 2 ...