SQL内置函数说明_第1页
SQL内置函数说明_第2页
SQL内置函数说明_第3页
SQL内置函数说明_第4页
SQL内置函数说明_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL内置函数说明Oracle8i数据库管理WinnerSoft数字格式元素Oracle8i数据库管理WinnerSoft元素示例说明,999,999标定格式化数字中的位置G999G999返回一组通过参数NLS_NUMERIC_CHARACTER设定的分隔符,这是个对语言编程有限定作用的数值.9.99标定格式化数字中的小数点位置D9D99标定小数点(由参数NLS_NUMERIC_CHARACTER说明)的位置,这是对语言编程有限定作用的数值$$999999.99标定格式化数字前面美元符号的位置CC999,999.99标定当前字符(由参数NLS_ISO_CURRENCY说明)的位置,这是个对语言编程有限定作用的数值LL999,999.99标定由参数NLS_CURRENCY说明的当前字符的位置UU999,999.99标定由参数NLS_UNION_CURRENCY说明的联合体当前的字符的位置00999标定格式化数字中试图显示前置零的位置99.99标定数字的位置。如果在数字格式中没有符号说明,正数的前面将用一个空格代替对应负数的负号EEEE999.9EEEE得到一个由说明符定义的格式数据FMFm9.99格式化一个没有前置空格和尾随空格的数据MI999,999MI格式化一个有尾随符号的负数及尾随一空格的正数数字格式元素Oracle8i数据库管理WinnerSoftPR999pr格式化<>中的负数RNRN将数据的格式定义为大写罗马数字Mm将数据的格式定义为小写罗马数字SS999,999999,999s将数据格式定义成:负数前面负号(-),正数前面置正号(+)将符号置于数值后面,符号变成尾随符号TMTM9TME以最少的字符数为数值格式。其中,TM9时固定的注记方式,但TME则需使用具体的说明。如果,在一超过64个字符的字符串中使用了TM9,那么,说明的形式可以是任意的XXXXXXxxx返回16进制数。该16进制数字符(A-F)符合格式说明串的要求。使用X返回大写的16进制数字(A-F),使用x返回小写的16进制数值(a-f)V999v999乘以10的x次方,其中,x是字符v后面字符9的个数元素示例说明日期格式元素Oracle8i数据库管理WinnerSoft元素示例TO_DATE?说明_/,.;:mm/dd/yyX在一日期当中设置一分隔标点。其实,在说明一日期格式时,可以使用任意字符作为分隔标点ADA.D.inBCB.C.YYYYADyyyybcYYYYB.C.X标示公元标志AD/BC的位置。在某时间内是否加设该标志,应该与所使用的格式说明符相一致AMA.M.PMP.M.hh:miamhh:mia.m.hh:miAMX标示上下午标志AM/PM的位置。在某时间区间是否加设该标志,应该与所使用的格式说明符相一致PMP.M.hh:mipmhh:miP.M.标示AM/PM的位置。该说明符与AM和A.M.的使用相同,但不能用在函数TO_CHAR中CCSCCCCSCC返回世纪数值。使用S可以在BC前面加一负号。2000年对应20th世纪,20001年对应21th世纪DDX返回一星期序号1-7,星期日为1DAYDaydd-Mon-yyyyX返回9个字符宽度的星期全名DYDydd-Mon-yyyyX返回缩写的星期名DDdd-Mon-yyyy返回月份值日期格式元素Oracle8i数据库管理WinnerSoftDDDdddyyy返回年值EE返回一时代的缩写名称。该说明符仅用于有历法支持的时代,例如,日本的天皇历法等EEEE返回一时代的全名HHHH:MIX返回小时数值(1-12)HH12hh12:mi:ss返回小时数值(1-12)HH24HH24:MIX返回小时数值(0-23)IWIW返回一年中由ISO标准定义的星期数值IYYYIYYIYIdd-Mon-IYdd-Mon-IYYY返回ISO年份数字,IYYY返回4位数年份值,IY返回最后2位年份值JJX返回一数字,该数字为从1-Jan-4712BC到当天的天数MIhh:mi:ssX返回一个分钟数值MMmm/dd/yyX返回一个月份数字MONdd=Mon-yyyyX返回月份缩写MONTHMonrhdd,yyyyX返回有9个字符宽度的月份全名QQ返回相应的季节号(数字),例如:1-3月返回1,4-6月返回2,如此等等RMRMX返回一罗马数字月份元素示例TO_DATE?说明日期格式元素Oracle8i数据库管理WinnerSoft元素示例TO_DATE?说明RRdd-Mon-rrX通过一个窗口(其位置可变)解释一个两位数字的年份。如果,这个两位的数字年份小于50,那么,该年份将被解释为下一世纪的年份数值。例如,假设当前年份是1999年,那么日期1-Jan-2030RRRRdd-Mon-rrrrX与RR相似,但也允许以4位数字输入年份。如果使用4位数表示年份,则不允许修改。如果使用2位数字,则规则与RR相同SShh:mi:ssX返回秒值SSSSSsssssX返回超过午夜的秒数WWWW返回相对一年中的星期数字WW返回相对一个月中的星期数字Y,YYYMondd,Y,YYYX返回一带有逗号的年份数字,逗号后面是一千位数YEARSYEARMondd,YEAY返回一个逐字拼写的年份数值。加S对于公元前的年份前缀一个负号(-)YYYYSYYYYYYYYYMondd,YYYYX返回年份数字,从1位到此4位。使用YYYY将得到全部4位年份数字,而使用YY仅仅得到最后的两位,如此等等。负号(-)被加到S前表示公元前的年份日期格式元素 一般地,日期格式说明符是不太敏感的。然而,当为了显示而说明日期格式、对于文本数据中的说明符等情况下,它就变得比较务实、具体了。以月份的名字为例,通过下面引用的结果解释一下该情况的效果: TO_CHAR(SYSDATE,’MONTH’)=NOVEMBER TO_CHAR(SYSDATE,’Month’)=November TO_CHAR(SYSDATE,’month’)=november 当你键入的单词MONTH(月份)是大写字母时,月份名字的结果就全部说明为大写。否则,如果串说明时的首字母是大写,则返回的月份名首字母也是大写字母。同样的规则也适用于下面的格式说明符:AD、AM、PM、BC、DAY、DY、MON、RM和YEAROracle8i数据库管理WinnerSoftSQL内置函数ABS ABS函数返回一数值的绝对值。负数将舍去其负号。下面是它的语法格式: ABS(number) 其中,number是希望得到其绝对值的数值 ABS函数截去数值的符号。如下例所示: ABS(5)=5 ABS(5)=5 不管是5还是-5,其绝对值均为5。Oracle8i数据库管理WinnerSoftSQL内置函数ACOS

ACOS函数返回一数值的反余弦值。结果以弧度表示,且在0到PI之间。 其语法格式如下: ACOS(number) 其中,number必须是-1与1之间的值 下面的例子显示了1和-1的反余弦值: ACOS(1)=0 ACOS(-1)=3.1415927(PI)Oracle8i数据库管理WinnerSoftSQL内置函数ADD_MONTHS

ADD_MONTHS函数将一个日期上加上一指定的月份数,所以,日期中的日将是不变的。然而,如果开始日期是某月的最后一天,那么,结果将会调整以使返回值仍对应新的一月的最后一天。如果,结果月份的天数比开始月份的天数少,那么,也会向回调整以适应有效日期。其语法格式如下: ADD_MONTHS(date,months) 其中: date 一个日期数值 months 要加上的月份数。要减去的月份数用负数 下面的例子解释了该函数的使用: ADD_MONTHS(TO_DATE(’15-Nov-1961’,’d-mon-yyyy’),1) =’15-Dec-1961 ADD_MONTHS(TO_DATE(’30-Nov-1961’,’d-mon-yyyy’),1) =’31-Dec-1961 ADD_MONTHS(TO_DATE(’31-Jan-1999’,’d-mon-yyyy’),1) =’28-Feb-1999 注意,在上面的第三个例子中,函数将不得不将31日往回调整为28日,已使结果对应新一月的最后一天。因为,1999年的2月份只有28天。在第二个例子中,则是从30往后调整为31,也同样是为了保持对应的最后一天。Oracle8i数据库管理WinnerSoftSQL内内置函数数ASCIIASCII函数数返回你你指向的的字符串串首字母母的十进进制表示示代表码码值。该该返回值值或许是是ASCII码码值,也也或许不不是。如如果用户户的数据据库字符符集是7位的ASCII值,,那就得得到一ASCII码值值。该返返回值总总是以用用户使用用的字符符集为基基础的。。ASCII(string)其中:string一一个字符符串。更更多的时时候就是是一字符符下面的例例子解释释了该函函数的使使用:ASCII(‘‘j’)=74ASCII(‘‘jeff’)=74从上面的的第二个个例子,,我们不不难看出出,如果果指定了了一个多多字符串串,该函函数将忽忽略除首首字母外外的所有有字符。。Oracle8i数数据库管管理WinnerSoftSQL内内置函数数ASINASIN函数返返回一数数值的反反正弦值值。结果果以弧度度表示,,且在-PI/2到PI/2之间。。其语法格格式如下下:ASIN(number)其中:number必必须是-1与1之间的的值下面的例例子显示示了1和和-1的的反正弦弦值:ASIN(1)=1.57ASIN(-1)=-1.57Oracle8i数数据库管管理WinnerSoftSQL内内置函数数ATANATAN函数返返回一数数值的反反正切值值。结果果以弧度度表示,,且在-PI/2到PI/2之间。。其语法格格式如下下:ATAN(number)其中:number必必须是-1与1之间的的值下面的例例子显示示了1和和-1的的反正正切值::ATAN(1)=0.7854ATAN(-1)=-0.7854Oracle8i数数据库管管理WinnerSoftSQL内内置函数数ATAN2ATAN2函数数返回两两个数值值的反正正切值。。结果以以弧度表表示。其语法格格式如下下:ATAN2(first,second)其中:first第第一个数数second第第二个个数函数ATAN2(first,second)与与函数TAN(first/second)的功功能是相相同的。。下面的例例子显示示了1和和-1的的反正切切值:ATAN2(1,.5)=1.107TAN(1/.5)=1.107Oracle8i数数据库管管理WinnerSoftSQL内内置函数数BFILENAMEBFILENAME函函数返回回一指向向磁盘的的物理文文件的BFILE地址址。其语法格格式如下下:BFILENAME(directory,filename)其中:directory一一个包括括指定文文件的目目录路径径字符串串。该该目录通通过命令令CREATEDIRECTORY产生生。但但它它不是一一个操作作系统目目录filename指指定目录录中用户试图图指定的文件件名字。该该文件件可以是预先先不存在的文文件下面的例子解解释了BFILENAME函数的使使用情况:BFILENAME(‘‘gif_dir’,’’book_photo.gif’’)Oracle8i数据据库管理WinnerSoftSQL内置函函数CEILCEIL函数数根据输入值值返回一个数数值。输入参参数可以是非非整数值,但但返回结果则则是大于等于于输入参数的的最小整数。。其语法格式如如下:CEIL(number)其中:number 任意数值值,十进制数数下面的例子解解释了CEIL函数的使使用情况:CEIL(5.1)=6CEIL(-5.1)=-5应注意,对于于负数使用该该函数的结果果。大于等于于-5。1的的最小整数精精确地讲应该该是-5。这这是数学上的的情况,但首首先也是记数数中知觉上的的感觉。Oracle8i数据据库管理WinnerSoftSQL内置函函数CHARTOROWIDCHARTOROWID函数将一个个字符串转换换成rowid类型。其语法格式如如下:CHARTOROWID(string)其中:string 待处理的的字符串。该该字符串应该该能表示一个个有效的rowid型数据下面的例子解解释了CHARTOROWID函数数的使用情况况:SQL>SELECTROWIDFORMdual;ROWID----------AAAADCAABAAAAVUAAASQL>SELECT*FORMdual2WHEREROWID=CHARTOROWID(‘AAAADCAABAAAAVUAAA’’);D-XOracle8i数据据库管理WinnerSoftSQL内置函函数CHRCHR函数就就相应的数据据库字符集,,返回一个指指定数值相应应的字符。例例如,给定一一个ASCII值,使用用CHR函数数返回该数值值表示的字符符。其语法格式如如下:CHR(integer[USINGNCHAR_CS])其中:integer 在相相应的字符集集中,代表对对应字符的的整数类类型USINGNCHAR_CS指指明相应的字字符集下面的例子解解释了CHR函数的使用用情况:CHR(10)=atabcharacterCHR(65)=‘A’’这些例子假设设基于ASCII字符集集Oracle8i数据据库管理WinnerSoftSQL内置函函数CONCATCONCAT函数将两个个输入字符串串,组合成一一个,并返回回结果。其语法格式如如下:CONCAT(string_1,string_2)其中:string_1 第一一个字符串string_2 第二二个字符串。。该字符串将将被拼接在第第一 个字字符串的尾部部下面的例子解解释了CONCAT函数数的使用情况况:CONCAT(‘Thisis’’,’atest’)=‘Thisisatest’Oracle8i数据据库管理WinnerSoftSQL内置函函数CONVERTCONVERT函数把一一字符串从一一个字符集转转换到另一字字符集。其语法格式如如下:CONVERT(string,dest_char_set[,source_char_set])其中:string 待转换换的字符串dest_char_set 目标标字符串source_char_set源源字符集。。省略默认数数据库字符集集下面的例子解解释了CONVERT函函数的使用情情况:CONVERT(‘Jonathan’,’WE8EBDIC37C’,’US7ASCII’)CONVERT(‘Jonathan’,’WE8ROMAN8’)第一个例子从从US7ASCII字符符集转换。第第二个例子从从默认数据库库字符集转换换。Oracle8i数据据库管理WinnerSoftSQL内置函函数COSCOS函数返返回一角度的的余弦值。结结果为弧度值值。其语法格式如如下:COS(angle)其中:angle角角度值,用用弧度表示下面的例子解解释了COS函数的使用用情况:COS(90*3.14/180)=.000796COS(0)=1Oracle8i数据据库管理WinnerSoftSQL内置函函数COSHCOSH函函数数返返回回一一角角度度的的双双曲曲余余弦弦值值。。其语语法法格格式式如如下下::COSH(angle)其中中::angle角角度度值值,,以以弧弧度度表表示示下面面的的例例子子解解释释了了COSH函函数数的的使使用用情情况况::COSH(0)=1COSH(90*3.14/180)=2.507将角角度度值值转转化化成成弧弧度度值值,,可可以以参参考考COS函函数数的的有有关关部部门门信信息息Oracle8i数数据据库库管管理理WinnerSoftSQL内内置置函函数数DECODE(一一)DECODE函函数数相相当当于于一一条条件件语语句句(IF).它它将将输输入入数数值值与与函函数数中中的的参参数数列列表表相相比比较较,,根根据据输输入入值值返返回回一一个个对对应应值值。。函函数数的的参参数数列列表表是是由由若若干干数数值值及及其其对对应应结结果果值值组组成成的的若若干干序序偶偶形形式式。。当当然然,,如如果果未未能能与与任任何何一一个个实实参参序序偶偶匹匹配配成成功功,,则则函函数数也也有有默默认认的的返返回回值值。。区区别别于于SQL的的其其它它函函数数,,DECODE函函数数还还能能识识别别和和操操作作空空值值。。其具体的的语法格格式如下下:DECODE(input_value,value,result[,value,result……][,default_result]);其中:input_value试试图处处理的数数值。DECODE函函数将该该数值与与一系列列的序偶偶相比较较,以决决定最后后的返回回结果value是是一组组成序偶偶的数值值。如果果输入数数值与之之匹配成成功,则则相应的的结果将将被返回回。对应应一个空空的返回回值,可可以使用用关键字字NULL于之之对应result是是一一组成序序偶的结结果值default_result未未能与任任何一序序偶匹配配成功时时,函数数返回的的默认值值下面的例例子说明明了,人人们如何何读取用用户CHECKUP表表SEAPARK中的的BLOOD_TEST_FLAG列下的的项目,,作为DECODE函函数的实实参支持持值。SELECTcheckup_type,DECODE(blood_test_flag,’Y’,’’Yes’,’’N’,’No’,NULL,’None’,’Invalid’)FROMcheckup;Oracle8i数数据库管管理WinnerSoftSQL内内置函数数DECODE(二)这个SQL语句句展示了了DECODE函数的的左右基基础功能能特征。。函数的的输入值值时BLOOD_TEST_FLAG列的的数据,,如果该该列的值值是‘Y’,那那么,函函数返回回‘YES’。。如果该该列的值值是NULL,,那么,,函数返返回‘None’。如如果没有有与任何何一个序序偶匹配配成功,,则表示示该列当当前值无无效,函函数返回回‘Invalid’’。在SQL疑疑难问题中中,DECODE函函数常常发发挥非常灵灵活的作用用。其中的的一个技术术就是为了了某种目的的可以将一一个表的行行转换成列列。例如::SQL>SELECTTO_CHAR(TRUNC(BIRTH_DATE,’’YEAR’),’’YYYY’),2 COUNT(*)3 FROMAQUATIC_ANIMAL4 WHERETO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’)5 IN(‘1995’,’1996’,’’1997’)6 GROUPBYTO_CHAR(TRUNC(BIRTH_DATE,’’YEAR’),’’YYYY’);TO_CCOUNT(*)----------199511996319971Oracle8i数据据库管管理WinnerSoftSQL内置置函数数该例告告诉我我们,,1995、1996和和1997年各各出生生了多多少动动物。。每一一行显显示不不同的的年。。一旦旦希望望将这这些数数值显显示成成3列列,该该如何何处理理?可可以通通过如如表B-1所示示的方方法处处理之之。Oracle8i数据据库管管理WinnerSoft使用DECODE查询SQL>SELECTSUM(DECODE(TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’),’1995’,1,0))BORN_1995SUM(DECODE(TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’),’1996’,1,0))BORN_1996SUM(DECODE(TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’),’1997’,1,0))BORN_1997FROMAQUATIC_ANIMALWHERETO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’) IN(‘1995’,’1996’,’1997’);BORN_1995 BORN_1996BORN_1997---------------131该例中中,为为了生生成结结果集集合中中的3列,,BIRTH_DATE被引引用了了3次次。。为了了过滤滤出正正确的的返回回年份份,每每次引引用均均引用用了函函数DECODE。。例如如,在在第一一列中中,DECODE函函数将将所有有的1995日日期值值转换换成1,其其他的的均转转换成成0,,再利利用SUM函数数求出出其汇汇总值值,从从而达达到求求取在在1995年诞诞生的的动物物数目目。1996和和1997年的的情况况类似似。SQL内置置函数数EMPTY_BLOBEMPTY_BLOB函函数返返回一一空的的BLOB指针针,该该指针针可以以用在在INSERT或UPDATE命命令中中,以以初始始化BLOB列列项。。其具具体体的的语语法法格格式式如如下下::EMPTY_BLOB()该函函数数没没有有参参数数。。下下面面的的例例子子说说明明了了如如何何使使用用该该函函数数初初始始化化BLOB列列,,并并作作为为一一个个新新行行插插入入到到表表中中。。INSERTINTOsome_table(blob_column)VALUES(EMPTY_BLOB());Oracle8i数数据据库库管管理理WinnerSoftSQL内内置置函函数数EMPTY_CLOBEMPTY_CLOB函函数数与与EMPTY_BLOB函函数数的的功功能能类类似似,,只只不不过过对对应应CLOB而而已已。。它它返返回回一一空空的的CLOB指指针针,,该该指指针针可可以以用用在在INSERT或或UPDATE命命令令中中,,以以初初始始化化CLOB列列。。其具体的的语法格格式如下下:EMPTY_CLOB()该函数没没有参数数。下面面的例子子说明了了如何使使用该函函数初始始化CLOB列列,并作作为一个个新行插插入到表表中。INSERTINTOsome_table(clob_column)VALUE(EMPTY_CLOB());Oracle8i数数据库管管理WinnerSoftSQL内内置函数数EXPEXP函函数返回回e的一一个幂。。在数学学上e经经常被用用来表示示一指定定的特殊殊数值((一个十十进制的的无限数数)2.178…,它它是数学学的基础础。其具具体的语语法格式式如下::EXP(exponent)其中:exponent 返回回e的少次((exponent)幂幂下面是该函数数的使用情况况:EXP(1)=2.7182818EXP(3)=20.085537(2.7182818*2.7182818*2.7182818)Oracle8i数据据库管理WinnerSoftSQL内置函函数FLOORFLOOR函函数返回一个个小于或等于于给定十进制制数的最大整整数。该函数数的工作机制制与函数CEIL的情况况极为相似,,但却正好相相反。其具体的语法法格式如下::FLOOR(number)其中:number 任意数,,包括十进制制数下面是该函数数的使用情况况:FLOOR((5.1)=5FLOOR((-5.1))=-6为了理解函数数FLOOR和函数CEIL在处理理负数时的不不同机制,可可以比较函数数FLOOR(5.1))和函数CEIL(-5.1)的执执行结果。Oracle8i数据据库管理WinnerSoftSQL内内置置函函数数GREATESTGREATEST函函数数返返回回一一数数值值列列表表中中的的最最高高数数值值。。可可使使用用GREATEST函函数数处处理理数数字字数数据据和和字字符符数数据据。。其具具体体的的语语法法格格式式如如下下::GREATEST((value,value,value,……))其中中::value数数字字数数据据或或文文本本数数据据。。一一般般地地,,所所有有数数值值的的类类型型应应该该一一致致。。如如果果给给定定的的数数据据类类型型相相混混,,返返回回值值将将匹匹配配第第一一个个参参数数类类型型,,其其余余的的所所有有参参数数自自然然被被转转换换成成对对应应的的类类型型下面是该函数数的使用情况况:GREATEST(1,,3,9,45,93,,2,-100)=93GREATEST(’Jenny’’,’Jeff’,’Ashley’)=’’Jenny’GREATEST((’11’’,101)=‘11’’第三个例例子反映映了参数数类型相相混时的的函数处处理情况况。因为为第一的的数据类类型是字字符串,,所以,,Oracle将数字字1转换换成字符符串‘1’,以以匹配对对应的数数据类型型。虽然然在数值值上101大于于11,,但如果果都转换换成字符符串,则则结果正正好相反反。这种种情况下下,‘11’大大于‘101’’,并且且,也是是函数的的返回结结果。Oracle8i数数据库管管理WinnerSoftSQL内内置函数数HEXTORAW函数HEXTORAW将一个个由十六六进制字字符组成成的字符符串转换换成一个个raw数值。。其具体的的语法格格式如下下:HEXTORAW(string))其中:string十十六进进制字符符组成的的字符串串数据Oracle8i数数据库管管理WinnerSoft函数HEXTORAW应用情况举例SQL>CREATETABLExx(yraw(10));Tablecreated.SQL>INSERTINTOxxVALUES(HEXTORAW(‘414243’));1rowcreated.AQL>SELECTDUMP(y)FROMxx;DUMP(Y)------------------------Typ=23Len=3:65,66,67注意:在在调用函函数时,,raw项中的的数值是是精确表表示的((十进制制数65=十六六进制数数41))SQL内内置函数数INITCAPINITCAP函数接接收一字字符串,,并转换换该字符符串中的的所有单单词,以以使各单单词均以以大写字字母开头头。其的语法法格式如如下:INITCAP(string)其中:string任任意一一VARCHAR2或或CHAR型数数据下面是该该函数的的使用情情况。INITCAP(‘Thisisatest’=‘Thisisatest’Oracle8i数数据库管管理WinnerSoftSQL内内置函数数INSTR函数INSTR会告诉诉用户,,其中的的一个字字符串((参数))是否在在另一个个字符串串(也是是参数))当中。。其具体的的语法格格式如下下:INSTR(string,substring[,start[,occurrence]])其中:string待待查询询的字符符串substring正正在搜搜索的字字符串start说说明开始始搜索的的字符位位置。默默认值是是1,就就是说,,搜索索将从从字符串串的第一一个字符符开始。。如果,,参数为为负则则表示示搜索的的位置从从右边开开始计算算,而不不是默认认的从从左边边开始occurrence 指定定试图搜搜索的子子串的第第几次出出现,默默认值是是1,意意味味着希望望其首次次出现该函数反反馈一索索引顺序序值,在在该位置置发现了了要搜索索的子串串。下面面的例子子指出了了INSTR函函数的使使用情况况:INSTR(‘‘AAABAABA’’,’B’)=4INSTR(‘‘AAABAABA’’,’B’,1,2)=7Oracle8i数数据库管管理WinnerSoftSQL内内置函数数Oracle8i数数据库管管理WinnerSoftINSTRB该函数与与INSTR的的功能极极为类似似,也将将反馈其其中的一一个字符符串(参参数)是是否在另另一个字字符串((也是参参数)当当中。只只是该函函数返回回的是一一字节索索引位置置,而不不是一字字符索引引位置。。其实,,仅仅在在多个字字符集同同时被使使用时,,这种不不同才有有意义。。其具体的的语法格格式如下下:INSTRB((string,substring[,start[,occurrence]])其中:string待待查询询的字符符串substring正正在搜搜索的字字符串start说说明开始始搜索的的字符位位置。默默认值是是1,就就是说,,搜索将将从字符符串串的第一一个字符符开始。。如果,,参数为为负则表表示搜索索的位置置从右右边开开始计算算,而不不是默认认的从左左边开始始occurrence 指定定试图搜搜索的子子串的第第几次出出现,默默认值是是1,意意味着希希望其其首次次出现该函数反反馈一索索引顺序序值,在在该位置置发现了了要搜索索的子串串。下面面的例子子指出了了INSTRB函数的的使用情情况:INSTRB(‘AAABAABA’,’’B’)=4INSTRB(‘AAABAABA’,’’B’,1,2)=7SQL内内置函数数LAST_DAY函数LAST_DAY返回实实参数指指定日期期对应月月份的最最后一天天。其具具体的语语法格式式如下::LAST_DAY(date)其中:date 一日日期数值值下面是该该函数的的使用情情况:LAST_DAY(TO_DATE(’29-Dec-1988’,’dd-mon-yyyy’))=’31-Dec-1988’LAST_DAY(TO_DATE(’1-Feb-2000’,’’dd-mon-yyyy’’))=’29-Feb-2000Oracle8i数数据库管管理WinnerSoftSQL内内置函数数LEASTLEAST函数数返回参参数给定定的数值值列表中中的最小小值。对对数值数数据或字字符串数数据均有有效。其具体的的语法格格式如下下:LEAST(value,value,value,……)其中:value一一数字或或文本数数值。尤尤其要注注意的是是所有的的数据类类型型应该一一致。如如果类型型相混,,返回值值将匹配配第一个个参参数的数数据类型型,而且且,其它它所有的的参数均均被转换换成成该参数数的数据据类型下面是该该函数的的使用情情况:LEAST(1,3,,9,45,93,2,-100))=-100LEAST(’’Jenny’’,’Jeff’,’’Ashley’)=‘Ashley’LEAST(’110’,12)=‘‘110’’第三个例子子说明了,,当参数的的数据类型型相混时函函数的处理理机制。因因为第一个个参数实字字符串,所所以,将数数字1转换换成字符串串‘1’,,一匹配对对应的数据据类型。虽虽然在数值值上110大于12,但如果果都转换成成字符串,,则结果正正好相反。。这种情况况下,‘12’大于于‘110’(一顺顺序为基础础),这就就是函数的的返回结果果。Oracle8i数据库管管理WinnerSoftSQL内内置置函函数数LENGTHLENGTH函函数数返返回回字字符符串串的的长长度度。。其具具体体的的语语法法格格式式如如下下::LENGTH(string)其中中::string任任意意字字符符串串下面面是是该该函函数数的的使使用用情情况况::LENGTH((’’Thisisshort’’))=13LENGTH((’’Thisisabitlonger’’))=20Oracle8i数数据据库库管管理理WinnerSoftSQL内内置置函函数数LENGTHBLENGTHB函函数数返返回回字字符符串串的的长长度度。。但但在在多多字字符符集集同同时时使使用用时时会会有有所所区区别别。。其具具体体的的语语法法格格式式如如下下::LENGTHB(string)其中中::string任任意意字字符符串串下面面是是该该函函数数的的使使用用情情况况::LENGTHB((’’Thisisshort’’))=13LENGTHB((’’Thisisabitlonger’’))=20Oracle8i数数据据库库管管理理WinnerSoftSQL内内置置函函数数LN函数数LN返返回回一一数数值值的的自自然然对对数数。。其具具体体的的语语法法格格式式如如下下::LN((number))其中中::number大大于于0的的任任意意数数值值下面面是是该该函函数数的的使使用用情情况况::LN((10))=2.3025851EXP(2.3025851)=10可见,将函函数LN的的结果作为为参数,通通过再调用用函数EXP可得到到函数LN的原参数数值。Oracle8i数据库管管理WinnerSoftSQL内置置函数LOGLOG函数数返回数值值的非自然然对数。其具体的语语法格式如如下:LOG(logbase,number)其中:logbase除除1和0以以外的任意意数值,是是对数的底底number 及对对数的真数数下面是该函函数的使用用情况:LOG(10,100)=2LOG(EXP(1),10)=2.3025851=LN(10)因为102等于100,所以,,以10为为底时100的对数数是2。注注意:LOG(e,x)=LN(x).可以使使用EXP(1)得得到e的值值。Oracle8i数据库管管理WinnerSoftSQL内置置函数LOWER函数LOWER返回回参数指定定字符串的的小写形式式。其具体的语语法格式如如下:LOWER(atring))其中:string 任意意VARCHAR2型或CHAR型的的数值下面是该函函数的使用用情况:LOWER(’ThisISaTest’)=‘‘Thisisatest’Oracle8i数据库管管理WinnerSoftSQL内置置函数LPADLPAD函函数从左面面填充指定定的字符串串。其具体的语语法格式如如下:LPAD((string,numchars[,padding])其中:string 任意意VARCHAR2型或CHAR型的的字符串numchars返返回字符符串的字符符个数padding填填充字符。。是一可选选项,默认认为单个空空格下面是该函函数的使用用情况:LPAD((’Jenny’,10)=‘Jenny’(5leadingspaces)LPAD((’Jenny’,10,’’*’)=‘*****Jenny’’LPAD((’Jenny’,10,’’*!’))=‘*!*!*Jenny’Oracle8i数据库管管理WinnerSoftSQL内置置函数LTRIMLTRIM函数删除除字符串左左边的前缀缀字符。一一般前缀字字符总是空空格。其具体的语语法格式如如下:LTRIM(string[,trimchars]))其中:string 任意意VARCHAR2型或CHAR型的的数值trimchars 待删除除的字符串串下面是该函函数的使用用情况:LTRIM(’Jeff’’)=‘Jeff’’(leadingspacesremoved)LTRIM(’*****Jeff’’,’*’’)=‘Jeff’’LTRIM(’*!*!*Jeff’’,’*!’)=‘‘Jeff’Oracle8i数据库管管理WinnerSoftSQL内置置函数MODMOD函数数返回一个个数除以另另一数的余余数。其具体的语语法格式如如下:MOD(number,divisor)其中:number 任意意数值divisor任任意数值。。该函数计计算number/divisor的的余数下面是该函函数的使用用情况:MOD(14,12)=2((1400hours=2:00O’Clock))MOD(10,10)=0MOD((10,,0))=10注意意::如如果果除除数数为为0则则返返回回原原来来的的数数Oracle8i数数据据库库管管理理WinnerSoftSQL内内置置函函数数MONTHS_BETWEENMONTHS_BETWEEN函函数数返返回回两两个个日日期期之之间间的的月月份份数数其具具体体的的语语法法格格式式如如下下::MONTHS_BETWEEN((date_1,date_2))其中中::date_1日日期期型型数数据据date_2一一日日期期型型数数据据如果两个个参数代代表的是是某月中中的同一一日期,,或它们们军代表表的某月月中的最最后一天天,则该该函数返返回一整整型值。。否则,,将返回回一分数数。另外外,如果果第一个个参数代代表的日日期小于于第二个个参数代代表的日日期,则则返回一一负值。。下面是该该函数的的使用情情况:MONTHS_BETWEEN(TO_DATE(’29-Dec-1999’,’dd-mon-yyyy’),TO_DATE(’29-Dec-1988’,’dd-mon-yyyy’)))=132MONTHS_BETWEEN(TO_DATE(’29-Dec-1999’,’dd-mon-yyyy’),TO_DATE(’’24-Nov-1988’’,’dd-mon-yyyy’)))=133.16129在第一个例例子中,两两个参数均均为某一月月中的29号,所以以返回一整整型值(其其间相差的的月份数)),在第二二个例子中中,因两个个参数表示示的日期不不是同一天天,所以返返回一分数数(以31天为基础础计算处理理)Oracle8i数据库管管理WinnerSoftSQL内置置函数NEW_TIMENEW_TIME函函数将在时时区间转换换日期/时时间数据。。其具体的语语法格式如如下:NEW_TIME((date,oldzone,newzone)其中:date一一日期期数值。在在Oracle中,,除其自己己以外,所所有日期期数值都都有时间和和记号这样样的成分oldzone代代表时区的的字符串。。有效的时时区如表所所示。被推推算出出的日期数数值就在该该时区当中中newzone也也是代表时时区的字符符串。被从从老时区到到新时区转转换的日期期数值下面是该函函数的使用用情况:NEW_TIME((TO_DATE(’25-Dec-19998:00’,’’dd-mom-yyyyHH:MI’),’EST’,’PST’)=’25-DEC-199905:00’’Oracle8i数据库管管理WinnerSoftSQL内置置函数NEXT_DAYNEXT_DAY函函数返回从从实参日期期开始,紧紧随其后的的指定星期期对应的日日期。其具体的语语法格式如如下:NEXT_DAY((date,weekday)其中:date一一日期数数据weekday一一字符串,,说明某一一天的星期期几的名称称。可以使使用全称,,也可以使使用缩写,,但对于用用户的编程程语言做的的日期设置置来说必须须是有效的的日期下面是该函函数的使用用情况:NEXT_DAY((TO_DATE(’24-Nov-1999’),’’dd-mon-yyyy’’,’FRIDAY’)=’26-Nov-1999’NEXT_DAY((TO_DATE(’24-Nov-1999’),’’dd-mon-yyyy’’,’WED’)=’01-Dec-1999’注意:在第第二个例子子当中,24-Nov-1999正好好落在星期期三:Wednesday。。下一个’’WED’’自然就是是1-Dec-1999,所所以,函数数NEXT-DAY返回的结结果就是’01-Dec-1999’’Oracle8i数据库管管理WinnerSoftSQL内置置函数NVLNVL函数数需要两个个参数。如如果第一个个参数为空空,则返回回第二个参参数。第二二个参数表表示是第一一个参数的的替换对象象。其具体的语语法格式如如下:NVL(value,alternative)其中:value 一个个可为空的的值。它不不为空的时时候将作为为返回值alternative只只要它不不是空的就就是将被返返回的值下面是该函函数处理数数据库的某某些列包括括空值时的的情况:SELECTemp_id,NVL(emp_name,’NameMissing!’)FROMemp_table;在该例中,,如果雇员员有名字,,将通过该该函数返回回其名字。。如果雇员员的名字为为空,将返返回‘NameMissing!’’Oracle8i数据库管管理WinnerSoftSQL内置置函数POWER函数POWER返回回一个数值值的指定次次幂。其具体的语语法格式如如下:POWER(number,power)其中:number 任意意数值power 幂次数数。函数的的结果其实实即:number幂次。如如果第一一个参数数为负数,,则该幂次次数务必是是一整数。。其它情情况可为为任意数值值下面是该函函数的使用用情况:POWER(10,2)=100(10*10)POWER(10,3)=1000POWER(-10,3)=-1000Oracle8i数据库管管理WinnerSoftSQL内置置函数RAWTOHEXRAWTOHEX函函数将一raw转换换成十六进进制字符表表示的串值值。其具体的语语法格式如如下:RAWTOHEX((raw_value)其中:raw_value 一RAW型数数值下面是该函函数的使用用情况:SQL>CREATETABLExx(yraw(10));Tablecreated.SQL>INSERTINTOxxVALUES(HEXTORAW(‘414243’));1rowcreated.SQL>SELECTRAWTOHEX(y)FORMxx;RAWTOHEX(Y)------414243Oracle8i数据库管管理WinnerSoftSQL内置置函数REPLACEREPLACE函数数在一字符符串中搜索索一指定的的子串,并并将其替换换成另外一一指定串。。其具体的语语法格式如如下:REPLACE(string,substring[,replace_string])其中:string被被搜索字符符串。在其其中搜索待待替换串substring 被搜搜索子串。。所有找到到的子串均均被替换掉掉replace_string 替换换结果子串串。是一可可选项。如如果该参数数被忽略,,则则所有被搜搜索到的子子串实质上上均被删除除下面是该函函数的使用用情况:REPLACE(’’Thisisatest’,’is’’,’was’)=‘Thwaswasatest’REPLACE(’’Thisisatest’,’is’’)=‘Thatest’Oracle8i数据库管管理WinnerSoftSQL内置置函数ROUND(fordates)ROUND函数将一一日期处理理(舍入))成第二个个参数指定定的形式。。其具体的语语法格式如如下:ROUND(date[,fmt])其中:date一一个日日期数值fmt是是一个日日期格式说说明符。指指定日期将将被处理成成该说明符符指定的形形式。。省略该参参数,则指指定日期将将被处理到到最近的一一天下面是该函函数的使用用情况:ROUND(TO_DATE(’24-Nov-199908:00pm’,’dd-mon-yyyyhh:miam’))=’25-Nov-199912:00:00am’ROUND(TO_DATE(’24-Nov-199908:37pm’,’dd-mon-yyyyhh:miam’),’hh’’)=’24-Nov-199909:00:00am’注意:这种种处理过程程可能意味味着日期数数值的改变变。在第一一个例子中中,因为8:00PM是紧紧邻第二天天的一精确确值,所以以处理结果果被转到下下一天(25th))而不是当当天(24th).Oracle8i数据库管管理WinnerSoftSQL内置置函数ROUND(fornumber)ROUND函数将一一数值处理理(舍入))成第二个个参数指定定的形式的的十进制数数。其具体的语语法格式如如下:ROUND(value,places)其中:value 试图转转换的数值值places 结果果中的十进进制数位置置。必须是是一正整数数,但可能能是一负数数。如果是是负数,数数字就被精精确地处理理在从小数数点其左数数的十进制制数下面是该函数数的使用情况况:ROUND(89,985,2)=89.90(Notethat.005isroundedup.)ROUND(89,985,-1)=90ROUND(89,985,-2)=100Oracle8i数据据库管理WinnerSoftSQL内置函函数ROWIDTOCHARROWIDTOCHAR函数将一行行标志码(ROWID))转换成一字字符串。其具体的语法法格式如下::ROWIDTOCHAR(rowid)其中:rowid一一ROWID型数据下面是该函数数的使用情况况:SQL>SELECTROWIDTOCHAR(ROWID)FROMdual;ROWIDTOCHAR(ROWID)----------AAAADCAABAAAAVUAAAOracle8i数据据库管理WinnerSoftSQL内置函函数RPADRPAD函数数在字符串的的后面追加若若干字符。其具体的语法法格式如下::RPAD(string,numchars[,padding]))其中:string 任意VARCHAR2型或CHAR型的数数据numchars 函数数结果串的长长度padding 追加字字符,单个的的。是可选项项,默认为空空格下面是该函数数的使用情况况:RPAD(‘‘Jenny’,10)=‘Jenny’’(5trailingspaces)RPAD(‘‘Jenny’,10,’*’)=‘Jenny*****’RPAD(‘‘Jenny’,10,’*!’)=‘Jenny*!*!*’Oracle8i数据据库管理WinnerSoftSQL内置函函数RTRIMRTRIM函函数压缩掉串串右面的尾随随字符,常常常是从指定字字符串(第一一参数)中压压缩空格。其具体的语法法格式如下::RTRIM((string[,trimchars])其中:string 任意VARCHAR2型或CHAR型的数数据trimchars准准备压缩掉的的字符(串))下面是该函数数的使用情况况:RTRIM(‘Jeff’’)=‘‘Jeff’’(trailingspacesremoved)RTRIM(‘Jenny*****’)=‘‘Jeff’RTRIM(‘Jenny*!*!*’)=‘‘Jeff’Oracle8i数据据库管理WinnerSoftSQL内置函函数SIGNSIGN函数数返回实参的的符号。对于于负数返回-1,0返回回0,正数返返回+1。其具体的语法法格式如下::SIGN(value))其中:value输输入的实参参,你试图返返回它的符号号下面是该函数数的使用情况况:SIGN(-100)=-1SIGN(0)=0SIGN(100)=1可以使用该函函数和DECODE函数数,根据一个个数值的正、、负或0,指指明表达式间间的不同。Oracle8i数据据库管理WinnerSoftSQL内置函函数SINSIN函数返返回一个角度度的正弦值。。其具具体体的的语语法法格格式式如如下下::SIN((angle))其中中::angle待待求求解解其其正正弦弦的的角角度度。。是是一一角角度度表表达达式式。。可可参参考考函函数数COS了了解解从从弧弧度度到到角角度度的的转转换换下面面是是该该函函数数的的使使用用情情况况::SIN((90*3.1415926/180))=1SIN((0))=0Oracle8i数数据据库库管管理理WinnerSoftSQL内内置置函函数数SOUNDEXSOUNDEX函函数数根根据据以以下下规规则则返返回回一一个个字字符符串串的的发发音音描描述述。。1、、保保留留字字符符串串的的首首字字母母2、、删删除除下下面面的的所所有有字字母母::a、、e、、h、、I、、o、、u、、w和和y。。3、、首首字字母母后后面面的的任任一一字字母母均均按按如如下下规规则则匹匹配配于于某某一一数数字字::b,f,p,v=1c,g,j,k,q,s,x,z=2d,t=3I=4m,n=5r=64、、结结果果被被缩缩写写并并转转换换成成一一个个4位位的的数数字字其具具体体的的语语法法格格式式如如下下::SOUNDEX((string))其中中::string任任意意字字符符串串下面面是是该该函函数数的的使使用用情情况况::SOUNDEX(‘‘Gennick’’)=520SOUNDEX(‘‘Genick’’)=520SOUNDEX(‘‘Genyk’’)=520Oracle8i数数据据库库管管理理WinnerSoftSQL内内置置函函数数SORTSORT函函数数返返回回一一数数字字的的算算术术平平方方根根。。其具具体体的的语语法法格格式式如如下下::SORT((number))其中中::number试试图图求求解解其其平平方方根根的的数数值值,,非非负负数数下面面是是该该函函数数的的使使用用情情况况::SORT((100))=10((because10*10-100))SORT((100))=3.1622777Oracle8i数数据据库库管管理理WinnerSoftSQL内内置置函函数数SUBSTRSUBSTR返返回回一一字字符符串串得得指指定定字字串串。。其具体的语语法格式如如下:SUBSTR(string,start,length)其中:string 任意意字符串start 字串的的开始位置置。第一个个位置总匹匹配为1。。该参数可可以为负负数,,这时从给给定字符串串的右面数数起length 待匹匹配字串的的长度。是是一可选项项,忽略它它则匹配整整个字符串串下面是该函函数的使用用情况:SUBSTR(’JennyJeffJonathan’,6,4)=‘‘Jeff’SUBSTR(’JennyJeffJonathan’,-12,4))=‘Jeff’SUBSTR(’JennyJeffJonathan’,-8)=‘Jonathan’’Oracle8i数据库管管理WinnerSoftSQL内置置函数SUBSTRBSUBSTRB返回回一字符串串的指定部部分。该函函数与SUBSTR极为类似似,只是该该函数的start和length两两参数均以以字节为单单位,而不不是根据字字符。这种种区别只有有在使用多多种不同的的字符集时时才有意义义。其具体的语语法格式如如下:SUBSTRB(string,start[,length])其中:string 任意意字符串start 字串的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论