1樓:匿名使用者
oracle資料型別看起來非常簡單,但用起來會發現有許多知識點,本文是我對oracle日期資料型別的一些整理,都是開發入門資料,與大家分享:
注:由於interval及time zone實際用得比較少,所以本文內容未涉及這兩個方面。
1、常用日期型資料型別
1.1、date
這是oracle最常用的日期型別,它可以儲存日期和時間,常用日期處理都可以採用這種型別。date表示的日期範圍可以是公元前2023年1月1日至公元2023年12月31日
date型別在資料庫中的儲存固定為7個位元組,格式為:
第1位元組:世紀+100
第2位元組:年
第3位元組:月
第4位元組:天
第5位元組:小時+1
第6位元組:分+1
第7位元組:秒+1
1.2、timestamp(p)
這也是oracle常用的日期型別,它與date的區別是不僅可以保
存日期和時間,還能儲存小數秒,小數位數可以指定為0-9,預設為6位,所以最高精度可以到ns(納秒),資料庫內部用7或者11個位元組儲存,如果精度為
0,則用7位元組儲存,與date型別功能相同,如果精度大於0則用11位元組儲存。
格式為:
第1位元組:世紀+100
第2位元組:年
第3位元組:月
第4位元組:天
第5位元組:小時+1
第6位元組:分+1
第7位元組:秒+1
第8-11位元組:納秒,採用4個位元組儲存,內部運算型別為整形
注:timestamp日期型別如果與數值進行加減運算會自動轉換為date型,也就是說小數秒會自動去除。
1.3、date與timestamp型別內部儲存驗證
1 create table t
2 (3 c1 date,
4 c2 timestamp(9)
5 );
6 7 insert into t(c1,c2) values(date'2010-2-12',timestamp'2010-2-12 13:24:52.234123211');
8 insert into t(c1,c2) values(
9 to_date('2010-2-12 10:20:30','yyyy-mm-dd hh24:mi:ss'),
10 to_timestamp('2010-2-12 13:24:52.123456','yyyy-mm-dd hh24:mi:ss.ff6')
11 );
12 13 sql> select c1,dump(c1) c1_d,c2,dump(c2) c2_d from t;
oracle資料庫裡兩個字元型的日期資料怎樣比較?
2樓:匿名使用者
select * from 表名 where to_date(jssj,'yyyymmddhh24miss')-
to_date(kssj,'yyyymmddhh24miss')>900/24/60/60
解釋下:那兩個日期要轉成日期型來做比較
條件是大於15分鐘,正常兩個日期減得到的是天所以要用900秒除24小時,除60分鐘,除60秒,將這個15分鐘轉成天
3樓:匿名使用者
更正下,原來把 to_date 的格式串寫錯了,再加上您給的新的條件:
select * from tab_namewhere
(to_date('kssj','yyyymmddhi24miss') >
to_date('20100825000000','yyyymmddhi24siss'))
and(
to_date('jssj','yyyymmddhi24miss') -
to_date('jssj','yyyymmddhi24miss'))*24*60 >= 15;
4樓:匿名使用者
select * from tablename
where (to_date(jssj,'yyyymmddhh24miss')-to_date(kssj,'yyyymmddhh24miss'))*24*60>15
tablename請用你自己的表名替換
oracle中有哪些資料型別
5樓:育知同創教育
varchar2(size) 可變長度的字串,其最大長度為size個位元組;size的最大值是4000,而最小值是1;你必須指定一個varchar2的size;
nvarchar2(size) 可變長度的字串,依據所選的國家字符集,其最大長度為size個字元或位元組;size的最大值取決於儲存每個字元所需的位元組數,其上限為4000;你必須指定一個nvarchar2的size;
number(p,s) 精度為p並且數值範圍為s的數值;精度p的範圍從1到38;數值範圍s的範圍是從-84到127;
例如:number(5,2) 表示整數部分最大3位,小數部分為2位;
number(5,-2) 表示數的整數部分最大為7其中對整數的倒數2位為0,前面的取整。
number 表示使用預設值,即等同於number(5);
long 可變長度的字元資料,其長度可達2g個位元組;
date 有效日期範圍從公元前2023年1月1日到公元后2023年12月31日
raw(size) 長度為size位元組的原始二進位制資料,size的最大值為2000位元組;你必須為raw指定一個size;
long raw 可變長度的原始二進位制資料,其最長可達2g位元組;
char(size) 固定長度的字元資料,其長度為size個位元組;size的最大值是2000位元組,而最小值和預設值是1;
nchar(size) 也是固定長度。根據unicode標準定義
clob 一個字元大型物件,可容納單位元組的字元;不支援寬度不等的字符集;最大為4g位元組
nclob 一個字元大型物件,可容納單位元組的字元;不支援寬度不等的字符集;最大為4g位元組;儲存國家字符集
blob 一個二進位制大型物件;最大4g位元組
bfile 包含一個大型二進位制檔案的定位器,其儲存在資料庫的外面;使得可以以字元流i/o訪問存在資料庫伺服器上的外部lob;最大大小為4g位元組.
6樓:
資料型別大約分為:character, number, date, lob, 和raw等型別。雖然oracle8i也允許你自定義資料型別,但是它們是最基character 資料型別
character 資料型別用來儲存字母數字型資料。當你在oracle 中定義一個character 資料時,通常需要制定欄位的長度,它是該欄位的最大長度。oracle提供以下幾種character 資料型別:
char() char資料型別是一種有固定長度和最大長度的字串。儲存在資料型別為char欄位中的資料將以空格的形式補到最大長度。長度定義在1——2000位元組之間。
當你建立一個char型欄位,資料庫將保證在這個欄位中的所有資料是定義長度,如果某個資料比定義長度短,那麼將用空格在資料的右邊補到定義長度。如果長度大於定義長度將會觸發錯誤資訊。
varchar() varchar型資料是varchar2型資料的快照。
varchar2() varchar2資料型別是一種可變長度的、有最大長度的字母數字型資料。varchar2型別的欄位長度可以達到4000位元組,varchar2型別的變數長度可以達到32676位元組。
一個空的varchar2(2000)欄位和一個空的varchar2(2)欄位所佔用的空間是一樣的。
nchar() 和 nvarchar2() nchar() 和 nvarchar2()資料型別分別與char() 和 varchar2()型別是相同的,只不過它們用來儲存nls(national language support)資料。
long long 資料型別是一個遺留下來的而且在將來不會被支援的資料型別。它將被lob(large object)資料型別所代替。
比較規則 varchar2和char資料型別根據尾部的空格有不同的比較規則。對char型資料,尾部的空格將被忽略掉,對於varchar2型資料尾部帶空格的資料排序比沒有空格的要大些。比如:
char 型資料: ‘yo’=‘yo ’
varchar2型資料: ‘yo’<’yo ’
numberic 資料型別
numberic 資料型別用來儲存負的和正的整數、分數和浮點型資料,範圍在-1*10-103 和9.999…99*10125之間,有38位的精確度。標識一個資料超出這個範圍時就會出錯。
本的資料型別。
7樓:永遠的
1、varchar2(size) 可變長度的字串,其最大長度為4000個位元組;
2、number(p,s) 精度為p並且數值範圍為s的數值;精度p的範圍從1到38;數值範圍s的範圍是從-84到127;
例如:number(5,2) 表示整數部分最大3位,小數部分為2位;
number(5,-2) 表示數的整數部分最大為7其中對整數的倒數2位為0,前面的取整。
number 表示使用預設值,即等同於number(5);
3、long 是可變長度的字元資料,其長度可達2g個位元組;
4、date 日期型別,有效日期範圍從公元前2023年1月1日到公元后2023年12月31日
5、raw(size) 原始二進位制資料,size的最大值為2000位元組;
6、long raw 可變長度的原始二進位制資料,其最長可達2g位元組;
7、char(size) 固定長度的字元資料,其最大值是2000位元組,而最小值和預設值是1;
8、nchar(size) 也是固定長度。根據unicode標準定義;
9、clob 一個字元大型物件,可容納單位元組的字元;不支援寬度不等的字符集;最大為4g位元組;
10、nclob 一個字元大型物件,可容納單位元組的字元;不支援寬度不等的字符集;最大為4g位元組;
11、blob 一個二進位制大型物件;最大4g位元組;
12、bfile 包含一個大型二進位制檔案的定位器,其儲存在資料庫的外面;使得可以以字元流i/o訪問存在資料庫伺服器上的外部lob;最大大小為4g位元組;
ecel中日期如何加上月,excel中日期如何加上6個月
一 假設日期寫在a1單元格,要在b1單元格得出該日期加上6個月的日期,則可以在b1單元格寫入公式 公式一 date year a1 month a1 6,day a1 公式二 edate a1,6 再設定單元格格式為日期格式中的一種。二 相關函式的定義 1 date函式 返回代表特定日期的序列號。如...
oracle資料庫,Oracle新建資料庫
樓主只要新建一個表空間,並把它分配給一個使用者就可以了。確定樓主是以管理員身份登入的 1.首先,建立 新 使用者 create user username identified by password username 新使用者名稱的使用者名稱 password 新使用者的密碼 也可以不建立新使用者...
vb中日期選擇控制元件MonthView如何顯示英文?如星期日顯示Sunday或Sun
在monthview1 dateclick事件中新增如下 private sub monthview1 dateclick byval dateclicked as date 把dayofweek的返回值轉換為英文 dim weekdays as stringselect case monthvie...