SG_007_CHAPTER 3(2)

chenai79921發表於2009-10-12

CAST( < c > AS < t > ): c可以是表示式或者是子查詢,t是資料型別。Cast的功能是把c轉變為t

CHARTOROWID():c是字串型別,返回資料型別為ROWIDc字串。

例子:

Select test_id

From test_case

Where rowed = CHARTOROWID(‘AAAAoSAACAAAALiAAA’)

NUMTODSINTERVAL( , ):x是數字,c是時間單位,可以是‘DAY,’HOUR’,’MINUTE’,’SECOND’.

例:

Select sysdate+numtodisinterval(2,’HOUR’)

From dual;

返回系統日期後的2個小時。

NUMTOYMINTERVAL(,): x是數字,c是時間單位,為‘year’,‘MONTH’一般為interval year to month 資料型別。例子同上。

TO_CHAR [,[,] ]: x可以是日期或者是數字,fmt是一種字串格式,這種格式x將會使用。Nlsparm定義了語言或者位置格式。整個函式返回的是x 字串。

日期傳統(date conversion

如果x是日期,fmt是格式程式碼(具體見表),nlsparmnls_date_language.

例子:select to_char(

SYSDATE,'Day Ddspth,Month YYYY' ,NLS_DATE_LANGUAGE=GERMAN)

FROM DUAL

----------------------------------------------------------------------------------

Samstag Twenty-Seventh,November 2002

Ddspthdd返回數字的幾號,ddsp返回數字英語的幾號,ddspth返回數字英語的第幾。

197

數字傳統(Number Conversion

TO_CHAR [,[,] ]):如果x是數字,fmt是數字形式的程式碼。具體見表。

http://xrzs7.spaces.live.com/blog/cns!3D53D5BB3BA77654!739.entry

TO_DATE( [ ,[ ] ]) : 返回轉變為date資料型別的c

表見sg-007 157

To_distinterval( [,]):

例子:

select sysdate + to_dsinterval(‘007 12:00:00’) 7天再加半天

sysdate + to_dsinterval(‘030 00:00:00’) 30

to_number( [, [,] ] ):c是字串,返回數字型別。

TO_YMINTERVAL:c是字串,返回interval year to month 資料型別。

例子:

Select sysdate + TO_YMINTERVAL(’01-03’)

FROM DUAL;

返回系統日期之後的15個月份的時間。

COALESCE():返回表示式中第一個不是null的值。

DECODE(,, [,,…] [,]): x是表示式,m1是否為x,是則返回r1,否則繼續m2m3進行比較。同樣的繼續返回結果r2r3.如果沒有任何匹配的返回,則返回d

d為空,那麼就返回null

GREATEST():返回資料型別最高的表示式。

LEAST():返回資料型別最低的表示式。

NULLIF,:x1 x2是表示式,如果x1等於x2,那麼返回null。否則返回x1,如果x1null,則返回null

SYS_CONNECT_BY_PATH(,)

SYS_CONTEXT(

[,] ): n

是名稱空間,p引數,length為長度。預設長度為256.

例如:

Select SYS_CONTEXT( ‘USERENV ’, ’ IP_ADDRESS ’)

FROM DUAL;

P引數見表:(針對‘USERENV’)http://xrzs7.spaces.live.com/blog/cns!3D53D5BB3BA77654!742.entry

UID不帶引數,返回當前使用者的user ID

例子:

Select usernameaccount_status

From dba_users

Where user_id=UID

USER不帶引數,返回使用者名稱。

USERENV( ):

OPT包括:

ISDB:如果當前會話是sysdba,那麼返回true

具體見sg-007 176

VSIZE():返回使用者名稱長度。

例子: select vsizeuser),user

From dual;

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11997930/viewspace-1027786/,如需轉載,請註明出處,否則將追究法律責任。

相關文章