培训教程-sql内置函数说明(编辑修改稿)内容摘要:

映了参数类型相混时的函数处理情况。 因为第一的数据类型是字符串,所以, Oracle将数字 1转换成字符串 ‘ 1‟,以匹配对应的数据类型。 虽然在数值上 101大于 11,但如果都转换成字符串,则结果正好相反。 这种情况下, ‘ 11‟大于 ‘ 101‟,并且,也是函数的返回结果。 Oracle 8i数据库管理 WinnerSoft SQL内置函数 • HEXTORAW 函数 HEXTORAW将一个由十六进制字符组成的字符串转换成一个 raw数值。 其具体的语法格式如下: HEXTORAW( string) 其中: string 十六进制字符组成的字符串数据 Oracle 8i数据库管理 WinnerSoft 函数 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内置函数 • INITCAP INITCAP函数接收一字符串,并转换该字符串中的所有单词,以使各单词均以大写字母开头。 其的语法格式如下: INITCAP(string) 其中: string 任意一 VARCHAR2或 CHAR型数据 下面是该函数的使用情况。 INITCAP(„This is a test‟=„This is a test‟ Oracle 8i数据库管理 WinnerSoft SQL内置函数 • INSTR 函数 INSTR会告诉用户,其中的一个字符串(参数)是否在另一个字符串(也是参数)当中。 其具体的语法格式如下: INSTR( string,substring[,start[,occurrence]]) 其中: string 待查询的字符串 substring 正在搜索的字符串 start 说明开始搜索的字符位置。 默认值是 1,就是说,搜 索将从字符串的第一个字符开始。 如果,参数为负 则表示搜索的位置从右边开始计算,而不是默认的 从左边开始 occurrence 指定试图搜索的子串的第几次出现,默认值是 1,意 味着希望其首次出现 该函数反馈一索引顺序值,在该位置发现了要搜索的子串。 下面的例子指出了 INSTR函数的使用情况: INSTR(„AAABAABA‟,‟B‟)=4 INSTR(„AAABAABA‟,‟B‟,1,2)=7 Oracle 8i数据库管理 WinnerSoft SQL内置函数 Oracle 8i数据库管理 WinnerSoft • INSTRB 该函数与 INSTR的功能极为类似,也将反馈其中的一个字符串(参数)是否在另一个字符串(也是参数)当中。 只是该函数返回的是一字节索引位置,而不是一字符索引位置。 其实,仅仅在多个字符集同时被使用时,这种不同才有意义。 其具体的语法格式如下: INSTRB( string,substring[,start[,occurrence]]) 其中: string 待查询的字符串 substring 正在搜索的字符串 start 说明开始搜索的字符位置。 默认值是 1,就是说,搜索将从字 符串的第一个字符开始。 如果,参数为负则表示搜索的位置从 右边开始计算,而不是默认的从左边开始 occurrence 指定试图搜索的子串的第几次出现,默认值是 1,意味着希望 其首次出现 该函数反馈一索引顺序值,在该位置发现了要搜索的子串。 下面的例子指出了 INSTRB函数的使用情况: INSTRB(„AAABAABA‟,‟B‟)=4 INSTRB(„AAABAABA‟,‟B‟,1,2)=7 SQL内置函数 • LAST_DAY 函数 LAST_DAY返回实参数指定日期对应月份的最后一天。 其具体的语法格式如下: LAST_DAY( date) 其中: date 一日期数值 下面是该函数的使用情况: LAST_DAY(TO_DATE(‟29Dec1988‟,‟ddmonyyyy‟)) =‟31Dec1988‟ LAST_DAY(TO_DATE(‟1Feb2000‟,‟ddmonyyyy‟)) =‟29Feb2000 Oracle 8i数据库管理 WinnerSoft SQL内置函数 • LEAST LEAST函数返回参数给定的数值列表中的最小值。 对数值数据或字符串数据均有效。 其具体的语法格式如下: LEAST( value,value,value,… ) 其中: value 一数字或文本数值。 尤其要注意的是所有的数据类 型应该一致。 如果类型相混,返回值将匹配第一个 参数的数据类型,而且,其它所有的参数均被转换 成该参数的数据类型 下面是该函数的使用情况: LEAST( 1, 3, 9, 45, 93, 2, 100) =100 LEAST( ’ Jenny‟,‟Jeff‟,‟Ashley‟) =„Ashley‟ LEAST( ’ 110‟,12) =„110‟ 第三个例子说明了,当参数的数据类型相混时函数的处理机制。 因为第一个参数实字符串,所以,将数字 1转换成字符串 ‘ 1‟,一匹配对应的数据类型。 虽然在数值上 110大于 12,但如果都转换成字符串,则结果正好相反。 这种情况下, ‘ 12‟大于 ‘ 110‟(一顺序为基础),这就是函数的返回结果。 Oracle 8i数据库管理 WinnerSoft SQL内置函数 • LENGTH LENGTH函数返回字符串的长度。 其具体的语法格式如下: LENGTH(string) 其中: string 任意字符串 下面是该函数的使用情况: LENGTH( ’ This is short‟) =13 LENGTH( ’ This is a bit longer‟) =20 Oracle 8i数据库管理 WinnerSoft SQL内置函数 • LENGTHB LENGTHB函数返回字符串的长度。 但在多字符集同时使用时会有所区别。 其具体的语法格式如下: LENGTHB(string) 其中: string 任意字符串 下面是该函数的使用情况: LENGTHB( ’ This is short‟) =13 LENGTHB( ’ This is a bit longer‟) =20 Oracle 8i数据库管理 WinnerSoft SQL内置函数 • LN 函数 LN返回一数值的自然对数。 其具体的语法格式如下: LN( number) 其中: number 大于 0的任意数值 下面是该函数的使用情况: LN( 10) = EXP()=10 可见,将函数 LN的结果作为参数,通过再调用函数 EXP可得到函数 LN的原参数值。 Oracle 8i数据库管理 WinnerSoft SQL内置函数 • LOG LOG函数返回数值的非自然对数。 其具体的语法格式如下: LOG( logbase,number) 其中: logbase 除 1和 0以外的任意数值,是对数的底 number 及对数的真数 下面是该函数的使用情况: LOG( 10, 100) =2 LOG( EXP(1),10) ==LN(10) 因为 102等于 100,所以,以 10为底时 100的对数是 2。 注意: LOG( e,x) =LN(x).可以使用 EXP(1)得到 e的值。 Oracle 8i数据库管理 WinnerSoft SQL内置函数 • LOWER 函数 LOWER返回参数指定字符串的小写形式。 其具体的语法格式如下: LOWER( atring) 其中: string 任意 VARCHAR2型或 CHAR型的数值 下面是该函数的使用情况: LOWER( ’ This IS a Test‟) =„This is a test‟ Oracle 8i数据库管理 WinnerSoft SQL内置函数 • LPAD LPAD函数从左面填充指定的字符串。 其具体的语法格式如下: LPAD( string,numchars[,padding]) 其中: string 任意 VARCHAR2型或 CHAR型的字符串 numchars 返回字符串的字符个数 padding 填充字符。 是一可选项,默认为单个空格 下面是该函数的使用情况: LPAD( ’ Jenny‟,10) =„Jenny‟(5 leading spaces) LPAD( ’ Jenny‟,10,‟*‟) =„*****Jenny‟ LPAD( ’ Jenny‟,10,‟*!‟) =„*!*!*Jenny‟ Oracle 8i数据库管理 WinnerSoft SQL内置函数 • LTRIM LTRIM函数删除字符串左边的前缀字符。 一般前缀字符总是空格。 其具体的语法格式如下: LTRIM( string[,trimchars]) 其中: string 任意 VARCHAR2型或 CHAR型的数值 trimchars 待删除的字符串 下面是该函数的使用情况: LTRIM( ’ Jeff‟) =„Jeff‟(leading spaces removed) LTRIM( ’ *****Jeff‟,‟*‟) =„Jeff‟ LTRIM( ’ *!*!*Jeff‟,‟*!‟) =„Jeff‟ Oracle 8i数据库管理 WinnerSoft SQL内置函数 • MOD MOD函数返回一个数除以另一数的余数。 其具体的语法格式如下: MOD( number,divisor) 其中: number 任意数值 divisor 任意数值。 该函数计算 number/divisor的余数 下面是该函数的使用情况: MOD( 14, 12) =2( 1400 hours=2:00 O‟Clock) MOD( 10, 10) =0 MOD( 10, 0) =10 注意:如果除数为 0则返回原来的数 Oracle 8i数据库管理 WinnerSoft SQL内置函数 • MONTHS_BETWEEN MONTHS_BETWEEN函数返回两个日期之间的月份数 其具体的语法格式如下: MONTHS_BETWEEN( date_1,date_2) 其中: date_1 日期型数据 date_2 一日期型数据 如果两个参数代表的是某月中的同一日期,或它们军代表的某月中的最后一天,则该函数返回一整型值。 否则,将返回一分数。 另外,如果第一个参数代表的日期小于第二个参数代表的日期,则返回一负值。 下面是该函数的使用情况: MONTHS_BETWEEN( TO_DATE(‟29Dec1999‟,‟ddmonyyyy‟), TO_DATE(‟29Dec1988‟,‟ddmonyyyy‟)) =132 MONTHS_BETWEEN( TO_DATE(‟29Dec1999‟,‟ddmonyyyy‟), TO_DATE(‟24Nov1988‟,‟ddmonyyyy‟)) = 在第一个例子中,两个参数均为某一月中的 29号,所以返回一整型值(其间相差的月份数),在第二个例子中,因两个参数表示的日期不是同一天,所以返回一分数(以 31天为基础计算处理) Oracle 8i数据库管理 WinnerSoft SQL内置函数 • NEW_TIME NEW_TIME函数将在时区间转换日期 /时间数据。 其具体的语法格式如下: NEW_TIME( date,oldzone,newz。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。