Heim > Datenbank > MySQL-Tutorial > Oracle时间类型date,timestamp时间差计算

Oracle时间类型date,timestamp时间差计算

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-07 17:09:20
Original
1971 Leute haben es durchsucht

Oracle的时间类型有两种date和timestamp. date精确到秒,timestamp精确到毫秒. 1.计算date类型的时间差 可以先把年,月,日,小时,

Oracle的时间类型有两种date和timestamp.   date精确到秒,timestamp精确到毫秒.

1.计算date类型的时间差

可以先把年,月,日,小时,分,秒用to_char函数拆分出来,再用to_number函数转换成数值类型.有了这些单独分开的时间就好办了.就再一个个的去减,记得考虑单位换算就行.比如都转换成小时或分之类的

示例:

declare

v_date date;

v_year int;

v_month int;

v_day int;

v_hour int;

v_minute int;

v_second int;

begin

 v_date := sysdate;

 v_year :=to_number( to_char(v_date,'yyyy'));

--月,日,小时,分,秒的拆分方法和上面年的一样,只要把yyyy分别替换成mm,dd,hh,mi,ss就行了

end;

--timestamp类型的时间也可以用同样的方法,但是这只能精确到秒,,后面的毫秒就忽略掉了

2.计算timestamp类型的时间差 

用to_char函数不能拆分出毫秒来.可以用另外一个函数extract

示例

declare

v_t timestamp;

v_year int;

v_s float;

begin

 v_t := systimestamp;

 v_year := extract(year from v_t);

--月,日,小时,分的拆分方法和上面的年一样只要把year改成month,day,hour,minute就行.

v_s :=extract(second from v_t);--注意,这里虽然也只能拆分到秒,但这里的秒是带小数点的,小数点后面的就是毫秒了.

end;

linux

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage