ITPub博客

首页 > 应用开发 > IT综合 > SG_007_CHAPTER 3(2)

SG_007_CHAPTER 3(2)

原创 IT综合 作者:chenai79921 时间:2009-10-12 18:22:50 0 删除 编辑

CAST( < c > AS < t > ): c可以是表达式或者是子查询,t是数据类型。Cast的功能是把c转变为t。

CHARTOROWID():c是字符串类型,返回数据类型为ROWID的c字符串。

例子:

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是格式代码(具体见表),nlsparm是nls_date_language.

例子:select to_char(

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

FROM DUAL

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

Samstag Twenty-Seventh,November 2002

Ddspth:dd返回数字的几号,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,否则继续m2,m3进行比较。同样的继续返回结果r2,r3.如果没有任何匹配的返回,则返回d。

若d为空,那么就返回null。

GREATEST():返回数据类型最高的表达式。

LEAST():返回数据类型最低的表达式。

NULLIF(,):x1 和 x2是表达式,如果x1等于x2,那么返回null。否则返回x1,如果x1是null,则返回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 username,account_status

From dba_users

Where user_id=UID

USER不带参数,返回用户名。

USERENV( ):

OPT包括:

ISDB:如果当前会话是sysdba,那么返回true

具体见sg-007 176页

VSIZE():返回用户名长度。

例子: select vsize(user),user

From dual;

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11997930/viewspace-1027786/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: SG_007_CHAPTER 3(1)
下一篇: 时间日期格式
请登录后发表评论 登录
全部评论
  • 博文量
    19
  • 访问量
    14160