欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    SQL内置函数说明.ppt

    • 资源ID:78655250       资源大小:268.50KB        全文页数:76页
    • 资源格式: PPT        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    SQL内置函数说明.ppt

    SQLSQL内置函数说明内置函数说明Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoft数字格式元素Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoft元素示例说明,999,999标定格式化数字中的位置G999G999返回一组通过参数NLS_NUMERIC_CHARACTER设定的分隔符,这是个对语言编程有限定作用的数值.9.99标定格式化数字中的小数点位置D9D99标定小数点(由参数NLS_NUMERIC_CHARACTER说明)的位置,这是对语言编程有限定作用的数值$999 999.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格式化一个有尾随符号的负数及尾随一空格的正数数字格式元素Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftPR999pr格式化中的负数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的个数元素示例说明日期格式元素Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoft元素示例TO_DATE?说明_/,.;:mm/dd/yyX在一日期当中设置一分隔标点。其实,在说明一日期格式时,可以使用任意字符作为分隔标点ADA.D.in BCB.C.YYYY ADyyyy bcYYYY B.C.X标示公元标志AD/BC的位置。在某时间内是否加设该标志,应该与所使用的格式说明符相一致AMA.M.PMP.M.hh:mi amhh:mi a.m.hh:mi AMX标示上下午标志AM/PM的位置。在某时间区间是否加设该标志,应该与所使用的格式说明符相一致PMP.M.hh:mi pmhh:mi P.M.标示AM/PM的位置。该说明符与AM和A.M.的使用相同,但不能用在函数TO_CHAR中CCSCCCCSCC返回世纪数值。使用S可以在BC前面加一负号。2000年对应20th世纪,20001年对应21th世纪DDX返回一星期序号1-7,星期日为1DAYDay dd-Mon-yyyyX返回9个字符宽度的星期全名DYDy dd-Mon-yyyyX返回缩写的星期名DDdd-Mon-yyyy返回月份值日期格式元素Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftDDDddd yyy返回年值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-4712 BC到当天的天数MIhh:mi:ssX返回一个分钟数值MMmm/dd/yyX返回一个月份数字MONdd=Mon-yyyyX返回月份缩写MONTHMonrh dd,yyyyX返回有9个字符宽度的月份全名QQ返回相应的季节号(数字),例如:1-3月返回1,4-6月返回2,如此等等RMRMX返回一罗马数字月份元素示例TO_DATE?说明日期格式元素Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoft元素示例TO_DATE?说明RRdd-Mon-rrX通过一个窗口(其位置可变)解释一个两位数字的年份。如果,这个两位的数字年份小于50,那么,该年份将被解释为下一世纪的年份数值。例如,假设当前年份是1999年,那么日期1-Jan-2030RRRRdd-Mon-rrrrX与RR相似,但也允许以4位数字输入年份。如果使用4位数表示年份,则不允许修改。如果使用2位数字,则规则与RR相同SShh:mi:ssX返回秒值SSSSSsssssX返回超过午夜的秒数WWWW返回相对一年中的星期数字WW返回相对一个月中的星期数字Y,YYYMon dd,Y,YYYX返回一带有逗号的年份数字,逗号后面是一千位数YEARSYEARMon dd,YEAY返回一个逐字拼写的年份数值。加S对于公元前的年份前缀一个负号(-)YYYYSYYYYYYYYYMon dd,YYYYX返回年份数字,从1位到此4位。使用YYYY将得到全部4位年份数字,而使用YY仅仅得到最后的两位,如此等等。负号(-)被加到S前表示公元前的年份日期格式元素一般地,日期格式说明符是不太敏感的。然而,当为了显示而说明日期格式、对于文本数据中的说明符等情况下,它就变得比较务实、具体了。以月份的名字为例,通过下面引用的结果解释一下该情况的效果:TO_CHAR(SYSDATE,MONTH)=NOVEMBERTO_CHAR(SYSDATE,Month)=NovemberTO_CHAR(SYSDATE,month)=november当你键入的单词MONTH(月份)是大写字母时,月份名字的结果就全部说明为大写。否则,如果串说明时的首字母是大写,则返回的月份名首字母也是大写字母。同样的规则也适用于下面的格式说明符:AD、AM、PM、BC、DAY、DY、MON、RM和YEAROracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数ABSABSABS函数返回一数值的绝对值。负数将舍去其负号。下面是它的语法格式:ABS(number)其中,number是希望得到其绝对值的数值ABS函数截去数值的符号。如下例所示:ABS(5)=5ABS(5)=5不管是5还是-5,其绝对值均为5。Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数ACOSACOSACOS函数返回一数值的反余弦值。结果以弧度表示,且在0到PI之间。其语法格式如下:ACOS(number)其中,number必须是-1与1之间的值下面的例子显示了1和-1 的反余弦值:ACOS(1)=0ACOS(-1)=3.1415927(PI)Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数ADD_MONTHSADD_MONTHSADD_MONTHS函数将一个日期上加上一指定的月份数,所以,日期中的日将是不变的。然而,如果开始日期是某月的最后一天,那么,结果将会调整以使返回值仍对应新的一月的最后一天。如果,结果月份的天数比开始月份的天数少,那么,也会向回调整以适应有效日期。其语法格式如下:ADD_MONTHS(date,months)其中:date 一个日期数值months要加上的月份数。要减去的月份数用负数下面的例子解释了该函数的使用:ADD_MONTHS(TO_DATE(15-Nov-1961,d-mon-yyyy),1)=15-Dec-1961ADD_MONTHS(TO_DATE(30-Nov-1961,d-mon-yyyy),1)=31-Dec-1961ADD_MONTHS(TO_DATE(31-Jan-1999,d-mon-yyyy),1)=28-Feb-1999注意,在上面的第三个例子中,函数将不得不将31日往回调整为28日,已使结果对应新一月的最后一天。因为,1999年的2月份只有28天。在第二个例子中,则是从30往后调整为31,也同样是为了保持对应的最后一天。Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数ASCIIASCIIASCII函数返回你指向的字符串首字母的十进制表示代表码值。该返回值或许是ASCII码值,也或许不是。如果用户的数据库字符集是7位的ASCII值,那就得到一ASCII码值。该返回值总是以用户使用的字符集为基础的。ASCII(string)其中:string一个字符串。更多的时候就是一字符下面的例子解释了该函数的使用:ASCII(j)=74ASCII(jeff)=74从上面的第二个例子,我们不难看出,如果指定了一个多字符串,该函数将忽略除首字母外的所有字符。Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数ASINASINASIN函数返回一数值的反正弦值。结果以弧度表示,且在-PI/2到PI/2之间。其语法格式如下:ASIN(number)其中:number必须是-1与1之间的值下面的例子显示了1和-1的反正弦值:ASIN(1)=1.57ASIN(-1)=-1.57Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数ATANATANATAN函数返回一数值的反正切值。结果以弧度表示,且在-PI/2到PI/2之间。其语法格式如下:ATAN(number)其中:number必须是-1与1之间的值下面的例子显示了1和-1 的反正切值:ATAN(1)=0.7854ATAN(-1)=-0.7854Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数ATAN2ATAN2 ATAN2函数返回两个数值的反正切值。结果以弧度表示。其语法格式如下:ATAN2(first,second)其中:first第一个数second第二个数函数ATAN2(first,second)与函数TAN(first/second)的功能是相同的。下面的例子显示了1和-1的反正切值:ATAN2(1,.5)=1.107TAN(1/.5)=1.107Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数BFILENAMEBFILENAMEBFILENAME函数返回一指向磁盘的物理文件的BFILE地址。其语法格式如下:BFILENAME(directory,filename)其中:directory 一个包括指定文件的目录路径字符串。该目录通过命令CREATE DIRECTORY产生。但它不是一个操作系统目录filename 指定目录中用户试图指定的文件名字。该文件可以是预先不存在的文件下面的例子解释了BFILENAME函数的使用情况:BFILENAME(gif_dir,book_photo.gif)Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数CEILCEILCEIL函数根据输入值返回一个数值。输入参数可以是非整数值,但返回结果则是大于等于输入参数的最小整数。其语法格式如下:CEIL(number)其中:number任意数值,十进制数下面的例子解释了CEIL函数的使用情况:CEIL(5.1)=6CEIL(-5.1)=-5应注意,对于负数使用该函数的结果。大于等于-5。1的最小整数精确地讲应该是-5。这是数学上的情况,但首先也是记数中知觉上的感觉。Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数CHARTOROWIDCHARTOROWIDCHARTOROWID函数将一个字符串转换成rowid类型。其语法格式如下:CHARTOROWID(string)其中:string待处理的字符串。该字符串应该能表示一个有效的rowid型数据下面的例子解释了CHARTOROWID函数的使用情况:SQLSELECT ROWID FORM dual;ROWID-AAAADCAABAAAAVUAAASQLSELECT*FORM dual 2 WHERE ROWID=CHARTOROWID(AAAADCAABAAAAVUAAA);D-XOracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数CHRCHRCHR函数就相应的数据库字符集,返回一个指定数值相应的字符。例如,给定一个ASCII值,使用CHR函数返回该数值表示的字符。其语法格式如下:CHR(integerUSING NCHAR_CS)其中:integer在相应的字符集中,代表对应字符的整数类型USING NCHAR_CS指明相应的字符集下面的例子解释了CHR函数的使用情况:CHR(10)=a tab characterCHR(65)=A这些例子假设基于ASCII字符集Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数CONCATCONCATCONCAT函数将两个输入字符串,组合成一个,并返回结果。其语法格式如下:CONCAT(string_1,string_2)其中:string_1第一个字符串string_2第二个字符串。该字符串将被拼接在第一个字符串的尾部下面的例子解释了CONCAT函数的使用情况:CONCAT(This is,a test)=This is a testOracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数CONVERTCONVERTCONVERT函数把一字符串从一个字符集转换到另一字符集。其语法格式如下:CONVERT(string,dest_char_set,source_char_set)其中:string待转换的字符串dest_char_set目标字符串source_char_set源字符集。省略默认数据库字符集下面的例子解释了CONVERT函数的使用情况:CONVERT(Jonathan,WE8EBDIC37C,US7ASCII)CONVERT(Jonathan,WE8ROMAN8)第一个例子从US7ASCII字符集转换。第二个例子从默认数据库字符集转换。Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数COSCOSCOS函数返回一角度的余弦值。结果为弧度值。其语法格式如下:COS(angle)其中:angle角度值,用弧度表示下面的例子解释了COS函数的使用情况:COS(90*3.14/180)=.000796COS(0)=1Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数COSHCOSHCOSH函数返回一角度的双曲余弦值。其语法格式如下:COSH(angle)其中:angle角度值,以弧度表示下面的例子解释了COSH函数的使用情况:COSH(0)=1COSH(90*3.14/180)=2.507将角度值转化成弧度值,可以参考COS函数的有关部门信息Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数DECODE(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函数的实参支持值。SELECT checkup_type,DECODE(blood_test_flag,Y,Yes,N,No,NULL,None,Invalid)FROM checkup;Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数DECODE(DECODE(二二)这个SQL语句展示了DECODE函数的左右基础功能特征。函数的输入值时BLOOD_TEST_FLAG列的数据,如果该列的值是Y,那么,函数返回YES。如果该列的值是NULL,那么,函数返回None。如果没有与任何一个序偶匹配成功,则表示该列当前值无效,函数返回Invalid。在SQL疑难问题中,DECODE函数常常发挥非常灵活的作用。其中的一个技术就是为了某种目的可以将一个表的行转换成列。例如:SQLSELECT TO_CHAR(TRUNC(BIRTH_DATE,YEAR),YYYY),2COUNT(*)3FROM AQUATIC_ANIMAL4WHERE TO_CHAR(TRUNC(BIRTH_DATE,YEAR),YYYY)5IN(1995,1996,1997)6GROUP BY TO_CHAR(TRUNC(BIRTH_DATE,YEAR),YYYY);TO_C COUNT(*)-199511996319971 Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数该例告诉我们,1995、1996和1997年各出生了多少动物。每一行显示不同的年。一旦希望将这些数值显示成3列,该如何处理?可以通过如表B-1所示的方法处理之。Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoft使用DECODE查询SQLSELECT SUM(DECODE(TO_CHAR(TRUNC(BIRTH_DATE,YEAR),YYYY),1995,1,0)BORN_1995 SUM(DECODE(TO_CHAR(TRUNC(BIRTH_DATE,YEAR),YYYY),1996,1,0)BORN_1996 SUM(DECODE(TO_CHAR(TRUNC(BIRTH_DATE,YEAR),YYYY),1997,1,0)BORN_1997 FROM AQUATIC_ANIMAL WHERE TO_CHAR(TRUNC(BIRTH_DATE,YEAR),YYYY)IN(1995,1996,1997);BORN_1995BORN_1996 BORN_1997-1 3 1该例中,为了生成结果集合中的3列,BIRTH_DATE被引用了3 次。为了过滤出正确的返回年份,每次引用均引用了函数DECODE。例如,在第一列中,DECODE函数将所有的1995日期值转换成1,其他的均转换成0,再利用SUM函数求出其汇总值,从而达到求取在1995年诞生的动物数目。1996和1997年的情况类似。SQL内置函数EMPTY_BLOBEMPTY_BLOBEMPTY_BLOB函数返回一空的BLOB指针,该指针可以用在INSERT或UPDATE命令中,以初始化BLOB列项。其具体的语法格式如下:EMPTY_BLOB()该函数没有参数。下面的例子说明了如何使用该函数初始化BLOB列,并作为一个新行插入到表中。INSERT INTO some_table(blob_column)VALUE(EMPTY_BLOB();Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数EMPTY_CLOBEMPTY_CLOBEMPTY_CLOB函数与EMPTY_BLOB函数的功能类似,只不过对应CLOB而已。它返回一空的CLOB指针,该指针可以用在INSERT或UPDATE命令中,以初始化CLOB列。其具体的语法格式如下:EMPTY_CLOB()该函数没有参数。下面的例子说明了如何使用该函数初始化CLOB列,并作为一个新行插入到表中。INSERT INTO some_table(clob_column)VALUE(EMPTY_CLOB();Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数EXPEXPEXP函数返回e的一个幂。在数学上e经常被用来表示一指定的特殊数值(一个十进制的无限数)2.178,它是数学的基础。其具体的语法格式如下:EXP(exponent)其中:exponent返回e的少次(exponent)幂下面是该函数的使用情况:EXP(1)=2.7182818EXP(3)=20.085537(2.7182818*2.7182818*2.7182818)Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数FLOORFLOORFLOOR函数返回一个小于或等于给定十进制数的最大整数。该函数的工作机制与函数CEIL的情况极为相似,但却正好相反。其具体的语法格式如下:FLOOR(number)其中:number任意数,包括十进制数下面是该函数的使用情况:FLOOR(5.1)=5 FLOOR(-5.1)=-6为了理解函数FLOOR和函数CEIL在处理负数时的不同机制,可以比较函数FLOOR(5.1)和函数CEIL(-5.1)的执行结果。Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数GREATESTGREATESTGREATEST函数返回一数值列表中的最高数值。可使用GREATEST函数处理数字数据和字符数据。其具体的语法格式如下:GREATEST(value,value,value,)其中:value数字数据或文本数据。一般地,所有数值的类型应该一致。如果给定的数据类型相混,返回值将匹配第一个参数类型,其余的所有参数自然被转换成对应的类型下面是该函数的使用情况:GREATEST(1,3,9,45,93,2,-100)=93GREATEST(Jenny,Jeff,Ashley)=JennyGREATEST(11,101)=11第三个例子反映了参数类型相混时的函数处理情况。因为第一的数据类型是字符串,所以,Oracle将数字1转换成字符串1,以匹配对应的数据类型。虽然在数值上101大于11,但如果都转换成字符串,则结果正好相反。这种情况下,11大于101,并且,也是函数的返回结果。Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数HEXTORAWHEXTORAW函数HEXTORAW将一个由十六进制字符组成的字符串转换成一个raw数值。其具体的语法格式如下:HEXTORAW(string)其中:string十六进制字符组成的字符串数据Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoft函数HEXTORAW应用情况举例SQLCREATE TABLE xx(y raw(10);Table created.SQLINSERT INTO xx VALUES(HEXTORAW(414243);1 row created.AQLSELECT DUMP(y)FROM xx;DUMP(Y)-Typ=23 Len=3:65,66,67注意:在调用函数时,raw项中的数值是精确表示的(十进制数65=十六进制数41)SQL内置函数INITCAPINITCAPINITCAP函数接收一字符串,并转换该字符串中的所有单词,以使各单词均以大写字母开头。其的语法格式如下:INITCAP(string)其中:string任意一VARCHAR2或CHAR型数据下面是该函数的使用情况。INITCAP(This is a test=This is a testOracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数INSTRINSTR函数INSTR会告诉用户,其中的一个字符串(参数)是否在另一个字符串(也是参数)当中。其具体的语法格式如下:INSTR(string,substring,start,occurrence)其中:string待查询的字符串substring正在搜索的字符串start说明开始搜索的字符位置。默认值是1,就是说,搜索将从字符串的第一个字符开始。如果,参数为负则表示搜索的位置从右边开始计算,而不是默认的从左边开始occurrence指定试图搜索的子串的第几次出现,默认值是1,意味着希望其首次出现该函数反馈一索引顺序值,在该位置发现了要搜索的子串。下面的例子指出了INSTR函数的使用情况:INSTR(AAABAABA,B)=4INSTR(AAABAABA,B,1,2)=7Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftINSTRBINSTRB该函数与INSTR的功能极为类似,也将反馈其中的一个字符串(参数)是否在另一个字符串(也是参数)当中。只是该函数返回的是一字节索引位置,而不是一字符索引位置。其实,仅仅在多个字符集同时被使用时,这种不同才有意义。其具体的语法格式如下:INSTRB(string,substring,start,occurrence)其中:string待查询的字符串substring正在搜索的字符串start说明开始搜索的字符位置。默认值是1,就是说,搜索将从字符串的第一个字符开始。如果,参数为负则表示搜索的位置从右边开始计算,而不是默认的从左边开始occurrence指定试图搜索的子串的第几次出现,默认值是1,意味着希望其首次出现该函数反馈一索引顺序值,在该位置发现了要搜索的子串。下面的例子指出了INSTRB函数的使用情况:INSTRB(AAABAABA,B)=4INSTRB(AAABAABA,B,1,2)=7SQL内置函数LAST_DAYLAST_DAY函数LAST_DAY返回实参数指定日期对应月份的最后一天。其具体的语法格式如下:LAST_DAY(date)其中:date一日期数值下面是该函数的使用情况:LAST_DAY(TO_DATE(29-Dec-1988,dd-mon-yyyy)=31-Dec-1988LAST_DAY(TO_DATE(1-Feb-2000,dd-mon-yyyy)=29-Feb-2000Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数LEASTLEASTLEAST函数返回参数给定的数值列表中的最小值。对数值数据或字符串数据均有效。其具体的语法格式如下:LEAST(value,value,value,)其中:value一数字或文本数值。尤其要注意的是所有的数据类型应该一致。如果类型相混,返回值将匹配第一个参数的数据类型,而且,其它所有的参数均被转换成该参数的数据类型下面是该函数的使用情况:LEAST(1,3,9,45,93,2,-100)=-100LEAST(Jenny,Jeff,Ashley)=AshleyLEAST(110,12)=110第三个例子说明了,当参数的数据类型相混时函数的处理机制。因为第一个参数实字符串,所以,将数字1转换成字符串1,一匹配对应的数据类型。虽然在数值上110大于12,但如果都转换成字符串,则结果正好相反。这种情况下,12大于110(一顺序为基础),这就是函数的返回结果。Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数LENGTH LENGTH LENGTH函数返回字符串的长度。其具体的语法格式如下:LENGTH(string)其中:string任意字符串下面是该函数的使用情况:LENGTH(This is short)=13LENGTH(This is a bit longer)=20Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数LENGTHB LENGTHB LENGTHB函数返回字符串的长度。但在多字符集同时使用时会有所区别。其具体的语法格式如下:LENGTHB(string)其中:string任意字符串下面是该函数的使用情况:LENGTHB(This is short)=13LENGTHB(This is a bit longer)=20Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数LNLN函数LN返回一数值的自然对数。其具体的语法格式如下:LN(number)其中:number大于0的任意数值下面是该函数的使用情况:LN(10)=2.3025851EXP(2.3025851)=10可见,将函数LN的结果作为参数,通过再调用函数EXP可得到函数LN的原参数值。Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数LOGLOGLOG函数返回数值的非自然对数。其具体的语法格式如下: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的值。Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数LOWERLOWER函数LOWER返回参数指定字符串的小写形式。其具体的语法格式如下:LOWER(atring)其中:string任意VARCHAR2型或CHAR型的数值下面是该函数的使用情况:LOWER(This IS a Test)=This is a testOracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数LPADLPADLPAD函数从左面填充指定的字符串。其具体的语法格式如下:LPAD(string,numchars,padding)其中:string任意VARCHAR2型或CHAR型的字符串numchars返回字符串的字符个数padding填充字符。是一可选项,默认为单个空格下面是该函数的使用情况:LPAD(Jenny,10)=Jenny(5 leading spaces)LPAD(Jenny,10,*)=*Jenny LPAD(Jenny,10,*!)=*!*!*JennyOracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数LTRIMLTRIMLTRIM函数删除字符串左边的前缀字符。一般前缀字符总是空格。其具体的语法格式如下:LTRIM(string,trimchars)其中:string任意VARCHAR2型或CHAR型的数值trimchars 待删除的字符串下面是该函数的使用情况:LTRIM(Jeff)=Jeff(leading spaces removed)LTRIM(*Jeff,*)=JeffLTRIM(*!*!*Jeff,*!)=JeffOracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数MODMODMOD函数返回一个数除以另一数的余数。其具体的语法格式如下:MOD(number,divisor)其中:number任意数值divisor任意数值。该函数计算number/divisor的余数下面是该函数的使用情况:MOD(14,12)=2(1400 hours=2:00 OClock)MOD(10,10)=0MOD(10,0)=10注意:如果除数为0则返回原来的数Oracle 8iOracle 8i数据库管理数据库管理数据库管理数据库管理WinnerSoftWinnerSoftSQL内置函数MONTHS_BETWEENMONTHS_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天为基础计算处理)Oracle 8iOracle 8i数据库

    注意事项

    本文(SQL内置函数说明.ppt)为本站会员(赵**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开