ORACLE ORACLE時區總結

2021-10-23 06:16:50 字數 3892 閱讀 9995

--設定會話時區

alter

session

set time_zone =

'+10:00'

;--設定會話時間格式

alter

session

set nls_date_format =

'yyyy-mm-dd hh24:mi:ss'

;select dbtimezone,sessiontimezone,

current_date

,current_timestamp

,localtimestamp from dual;

--current_date就是當前的事件

--current_timestamp加了時區

--localtimestamp沒有加時區

--sessiontimezone 當前會話的時區

--dbtimezone 資料庫時區

--命名區域值

select table_name from dict where table_name like

'%timezone%'

;select

*from **$timezone_names

--timestamp with local time zone

create

table web_shop(

f_time timestamp

with

time zone,

e_time timestamp

with

local

time zone

)insert

into web_shop values

(sysdate,sysdate+2)

--這個時候如果改變了 time_zone 則e_time就會根據 time_zone修改的值來做出改變,而f_time一旦設定好就不會發生改變

--這是timestamp with time zone 和 timestamp with local time zone的區別

select

*from web_shop

--interval year to month

--間隔年到月

create

table warranty(

prod_id number, warranty_time interval

year(3

)tomonth

--表示年可以放3位

)insert

into warranty values

(123

,'1-2'

)insert

into warranty values

(125

,interval

'10'

year);

insert

into warranty values

(125

,interval

'2-5'

year

tomonth);

insert

into warranty values

(125

,interval

'6'month);

select

*from warranty

--間隔天到秒

create

table lab(

exp_id number, test_time interval

day(2)

tosecond

--表示年可以放3位

)insert

into lab values

(100012

,'90 00:00:00');

insert

into lab values

(56060

,interval

'6 03:30:16'

dayto

second);

insert

into lab values

(56060

,interval

'1'day);

insert

into lab values

(56060

,interval

'1'minute);

insert

into lab values

(56060

,interval

'1'second);

insert

into lab values

(56060

,interval

'0 00:00:10'

dayto

second);

select

*from lab

--時間抽取 extract

--返回的是乙個數字型別 ps:數字型別是右對齊,字串型別是左對齊

select extract(

year

from sysdate)

from dual;

select extract(

month

from sysdate)

from dual;

select extract(

dayfrom sysdate)

from dual;

--時間的絕對位移 tz_offset

select tz_offset(

'asia/chongqing'

)from dual;

select tz_offset(

'europe/london'

)from dual;

select tz_offset(

'canada/yukon'

)from dual;

--字串轉換為時間戳的形式 from_tz

select from_tz(

timestamp

'2000-07-12 08:00:00'

,'europe/london'

)from dual;

--to_timestamp

select to_timestamp(

'2007-03-01 00:00:00'

,'yyyy-mm-dd hh24:mi:ss'

)from dual;

--numtoyminterval 加年或月的時間

select sysdate+

1,sysdate+ numtoyminterval(

1,'year'

)from dual

select sysdate+

1,sysdate+ numtoyminterval(

1,'month'

)from dual

----numtodsinterval 加天或秒的時間

select sysdate+

1,sysdate+ numtodsinterval(

1,'day'

)from dual

select sysdate+

1,sysdate+ numtodsinterval(

1,'second'

)from dual

--to_yminterval 年到月

select sysdate+

1,sysdate+ to_yminterval(

'1-3'

)from dual --加上一年零三個月

--to_dsinterval 天到秒

select sysdate+

1,sysdate+ to_dsinterval(

'100 23:00:00'

)from dual --加上100天 23小時

--夏令時

Oracle Oracle常用指令

隨手記錄下有時會用到,但不是很頻繁,每次都要搜尋的那些命令 1.斷開使用者連線 刪除使用者的時候提示有在連線程序可用 1.查到使用者程序 select sid,serial from v session where username username 2.殺掉程序 alter system kill...

Oracle Oracle程序簡介

為什麼要有後台程序 為什麼要每個例項要有個記憶體結構?就是為了提高資料讀寫效率而設定的乙個大型的記憶體區域,否則豈不是要實時與磁碟互動?為什麼要有後台程序 資料最終還是要存到磁碟上,所以需要有不同的程序將不同記憶體片段按某個條件批量寫進磁碟 如資料寫程序 ora dbw0 日誌寫程序 ora lgw...

ArcGis連線oracle oracle配置

伺服器 oracle 11g 我是預設路徑安裝,自定義路徑沒成功,不知道為什麼 客戶端 arcgis desktop 10.2 oracle 11g 32位客戶端 客戶端 arcgis server 10.2 oracle 11g 64位客戶端 1 伺服器上安裝oracle 11g,客戶端安裝arc...