OracleSQL内置函数大全.ppt
《OracleSQL内置函数大全.ppt》由会员分享,可在线阅读,更多相关《OracleSQL内置函数大全.ppt(76页珍藏版)》请在装配图网上搜索。
SQL内置函数说明 Oracle8i数据库管理 WinnerSoft 数字格式元素 Oracle8i数据库管理 WinnerSoft 数字格式元素 Oracle8i数据库管理 WinnerSoft 日期格式元素 Oracle8i数据库管理 WinnerSoft 日期格式元素 Oracle8i数据库管理 WinnerSoft 日期格式元素 Oracle8i数据库管理 WinnerSoft 日期格式元素 一般地 日期格式说明符是不太敏感的 然而 当为了显示而说明日期格式 对于文本数据中的说明符等情况下 它就变得比较务实 具体了 以月份的名字为例 通过下面引用的结果解释一下该情况的效果 TO CHAR SYSDATE MONTH NOVEMBERTO CHAR SYSDATE Month NovemberTO CHAR SYSDATE month november当你键入的单词MONTH 月份 是大写字母时 月份名字的结果就全部说明为大写 否则 如果串说明时的首字母是大写 则返回的月份名首字母也是大写字母 同样的规则也适用于下面的格式说明符 AD AM PM BC DAY DY MON RM和YEAR Oracle8i数据库管理 WinnerSoft SQL内置函数 ABSABS函数返回一数值的绝对值 负数将舍去其负号 下面是它的语法格式 ABS number 其中 number是希望得到其绝对值的数值ABS函数截去数值的符号 如下例所示 ABS 5 5ABS 5 5不管是5还是 5 其绝对值均为5 Oracle8i数据库管理 WinnerSoft SQL内置函数 ACOSACOS函数返回一数值的反余弦值 结果以弧度表示 且在0到PI之间 其语法格式如下 ACOS number 其中 number必须是 1与1之间的值下面的例子显示了1和 1的反余弦值 ACOS 1 0ACOS 1 3 1415927 PI Oracle8i数据库管理 WinnerSoft SQL内置函数 ADD 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 也同样是为了保持对应的最后一天 Oracle8i数据库管理 WinnerSoft SQL内置函数 ASCIIASCII函数返回你指向的字符串首字母的十进制表示代表码值 该返回值或许是ASCII码值 也或许不是 如果用户的数据库字符集是7位的ASCII值 那就得到一ASCII码值 该返回值总是以用户使用的字符集为基础的 ASCII string 其中 string一个字符串 更多的时候就是一字符下面的例子解释了该函数的使用 ASCII j 74ASCII jeff 74从上面的第二个例子 我们不难看出 如果指定了一个多字符串 该函数将忽略除首字母外的所有字符 Oracle8i数据库管理 WinnerSoft SQL内置函数 ASINASIN函数返回一数值的反正弦值 结果以弧度表示 且在 PI 2到PI 2之间 其语法格式如下 ASIN number 其中 number必须是 1与1之间的值下面的例子显示了1和 1的反正弦值 ASIN 1 1 57ASIN 1 1 57 Oracle8i数据库管理 WinnerSoft SQL内置函数 ATANATAN函数返回一数值的反正切值 结果以弧度表示 且在 PI 2到PI 2之间 其语法格式如下 ATAN number 其中 number必须是 1与1之间的值下面的例子显示了1和 1的反正切值 ATAN 1 0 7854ATAN 1 0 7854 Oracle8i数据库管理 WinnerSoft SQL内置函数 ATAN2ATAN2函数返回两个数值的反正切值 结果以弧度表示 其语法格式如下 ATAN2 first second 其中 first第一个数second第二个数函数ATAN2 first second 与函数TAN first second 的功能是相同的 下面的例子显示了1和 1的反正切值 ATAN2 1 5 1 107TAN 1 5 1 107 Oracle8i数据库管理 WinnerSoft SQL内置函数 BFILENAMEBFILENAME函数返回一指向磁盘的物理文件的BFILE地址 其语法格式如下 BFILENAME directory filename 其中 directory一个包括指定文件的目录路径字符串 该目录通过命令CREATEDIRECTORY产生 但它不是一个操作系统目录filename指定目录中用户试图指定的文件名字 该文件可以是预先不存在的文件下面的例子解释了BFILENAME函数的使用情况 BFILENAME gif dir book photo gif Oracle8i数据库管理 WinnerSoft SQL内置函数 CEILCEIL函数根据输入值返回一个数值 输入参数可以是非整数值 但返回结果则是大于等于输入参数的最小整数 其语法格式如下 CEIL number 其中 number任意数值 十进制数下面的例子解释了CEIL函数的使用情况 CEIL 5 1 6CEIL 5 1 5应注意 对于负数使用该函数的结果 大于等于 5 1的最小整数精确地讲应该是 5 这是数学上的情况 但首先也是记数中知觉上的感觉 Oracle8i数据库管理 WinnerSoft SQL内置函数 CHARTOROWIDCHARTOROWID函数将一个字符串转换成rowid类型 其语法格式如下 CHARTOROWID string 其中 string待处理的字符串 该字符串应该能表示一个有效的rowid型数据下面的例子解释了CHARTOROWID函数的使用情况 SQL SELECTROWIDFORMdual ROWID AAAADCAABAAAAVUAAASQL SELECT FORMdual2WHEREROWID CHARTOROWID AAAADCAABAAAAVUAAA D X Oracle8i数据库管理 WinnerSoft SQL内置函数 CHRCHR函数就相应的数据库字符集 返回一个指定数值相应的字符 例如 给定一个ASCII值 使用CHR函数返回该数值表示的字符 其语法格式如下 CHR integer USINGNCHAR CS 其中 integer在相应的字符集中 代表对应字符的整数类型USINGNCHAR CS指明相应的字符集下面的例子解释了CHR函数的使用情况 CHR 10 atabcharacterCHR 65 A 这些例子假设基于ASCII字符集 Oracle8i数据库管理 WinnerSoft SQL内置函数 CONCATCONCAT函数将两个输入字符串 组合成一个 并返回结果 其语法格式如下 CONCAT string 1 string 2 其中 string 1第一个字符串string 2第二个字符串 该字符串将被拼接在第一个字符串的尾部下面的例子解释了CONCAT函数的使用情况 CONCAT Thisis atest Thisisatest Oracle8i数据库管理 WinnerSoft SQL内置函数 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数据库管理 WinnerSoft SQL内置函数 COSCOS函数返回一角度的余弦值 结果为弧度值 其语法格式如下 COS angle 其中 angle角度值 用弧度表示下面的例子解释了COS函数的使用情况 COS 90 3 14 180 000796COS 0 1 Oracle8i数据库管理 WinnerSoft SQL内置函数 COSHCOSH函数返回一角度的双曲余弦值 其语法格式如下 COSH angle 其中 angle角度值 以弧度表示下面的例子解释了COSH函数的使用情况 COSH 0 1COSH 90 3 14 180 2 507将角度值转化成弧度值 可以参考COS函数的有关部门信息 Oracle8i数据库管理 WinnerSoft SQL内置函数 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数据库管理 WinnerSoft SQL内置函数 DECODE 二 这个SQL语句展示了DECODE函数的左右基础功能特征 函数的输入值时BLOOD TEST FLAG列的数据 如果该列的值是 Y 那么 函数返回 YES 如果该列的值是NULL 那么 函数返回 None 如果没有与任何一个序偶匹配成功 则表示该列当前值无效 函数返回 Invalid 在SQL疑难问题中 DECODE函数常常发挥非常灵活的作用 其中的一个技术就是为了某种目的可以将一个表的行转换成列 例如 SQL SELECTTO CHAR TRUNC BIRTH DATE YEAR YYYY 2COUNT 3FROMAQUATIC ANIMAL4WHERETO CHAR TRUNC BIRTH DATE YEAR YYYY 5IN 1995 1996 1997 6GROUPBYTO CHAR TRUNC BIRTH DATE YEAR YYYY TO CCOUNT 199511996319971 Oracle8i数据库管理 WinnerSoft SQL内置函数 该例告诉我们 1995 1996和1997年各出生了多少动物 每一行显示不同的年 一旦希望将这些数值显示成3列 该如何处理 可以通过如表B 1所示的方法处理之 Oracle8i数据库管理 WinnerSoft 该例中 为了生成结果集合中的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 VALUE EMPTY BLOB Oracle8i数据库管理 WinnerSoft SQL内置函数 EMPTY CLOBEMPTY CLOB函数与EMPTY BLOB函数的功能类似 只不过对应CLOB而已 它返回一空的CLOB指针 该指针可以用在INSERT或UPDATE命令中 以初始化CLOB列 其具体的语法格式如下 EMPTY CLOB 该函数没有参数 下面的例子说明了如何使用该函数初始化CLOB列 并作为一个新行插入到表中 INSERTINTOsome table clob column VALUE EMPTY CLOB Oracle8i数据库管理 WinnerSoft SQL内置函数 EXPEXP函数返回e的一个幂 在数学上e经常被用来表示一指定的特殊数值 一个十进制的无限数 2 178 它是数学的基础 其具体的语法格式如下 EXP exponent 其中 exponent返回e的少次 exponent 幂下面是该函数的使用情况 EXP 1 2 7182818EXP 3 20 085537 2 7182818 2 7182818 2 7182818 Oracle8i数据库管理 WinnerSoft SQL内置函数 FLOORFLOOR函数返回一个小于或等于给定十进制数的最大整数 该函数的工作机制与函数CEIL的情况极为相似 但却正好相反 其具体的语法格式如下 FLOOR number 其中 number任意数 包括十进制数下面是该函数的使用情况 FLOOR 5 1 5FLOOR 5 1 6为了理解函数FLOOR和函数CEIL在处理负数时的不同机制 可以比较函数FLOOR 5 1 和函数CEIL 5 1 的执行结果 Oracle8i数据库管理 WinnerSoft SQL内置函数 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数据库管理 WinnerSoft SQL内置函数 HEXTORAW函数HEXTORAW将一个由十六进制字符组成的字符串转换成一个raw数值 其具体的语法格式如下 HEXTORAW string 其中 string十六进制字符组成的字符串数据 Oracle8i数据库管理 WinnerSoft 注意 在调用函数时 raw项中的数值是精确表示的 十进制数65 十六进制数41 SQL内置函数 INITCAPINITCAP函数接收一字符串 并转换该字符串中的所有单词 以使各单词均以大写字母开头 其的语法格式如下 INITCAP string 其中 string任意一VARCHAR2或CHAR型数据下面是该函数的使用情况 INITCAP Thisisatest Thisisatest Oracle8i数据库管理 WinnerSoft SQL内置函数 INSTR函数INSTR会告诉用户 其中的一个字符串 参数 是否在另一个字符串 也是参数 当中 其具体的语法格式如下 INSTR string substring start occurrence 其中 string待查询的字符串substring正在搜索的字符串start说明开始搜索的字符位置 默认值是1 就是说 搜索将从字符串的第一个字符开始 如果 参数为负则表示搜索的位置从右边开始计算 而不是默认的从左边开始occurrence指定试图搜索的子串的第几次出现 默认值是1 意味着希望其首次出现该函数反馈一索引顺序值 在该位置发现了要搜索的子串 下面的例子指出了INSTR函数的使用情况 INSTR AAABAABA B 4INSTR AAABAABA B 1 2 7 Oracle8i数据库管理 WinnerSoft SQL内置函数 Oracle8i数据库管理 WinnerSoft INSTRB该函数与INSTR的功能极为类似 也将反馈其中的一个字符串 参数 是否在另一个字符串 也是参数 当中 只是该函数返回的是一字节索引位置 而不是一字符索引位置 其实 仅仅在多个字符集同时被使用时 这种不同才有意义 其具体的语法格式如下 INSTRB string substring start occurrence 其中 string待查询的字符串substring正在搜索的字符串start说明开始搜索的字符位置 默认值是1 就是说 搜索将从字符串的第一个字符开始 如果 参数为负则表示搜索的位置从右边开始计算 而不是默认的从左边开始occurrence指定试图搜索的子串的第几次出现 默认值是1 意味着希望其首次出现该函数反馈一索引顺序值 在该位置发现了要搜索的子串 下面的例子指出了INSTRB函数的使用情况 INSTRB AAABAABA B 4INSTRB AAABAABA B 1 2 7 SQL内置函数 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 2000 Oracle8i数据库管理 WinnerSoft SQL内置函数 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数据库管理 WinnerSoft SQL内置函数 LENGTHLENGTH函数返回字符串的长度 其具体的语法格式如下 LENGTH string 其中 string任意字符串下面是该函数的使用情况 LENGTH Thisisshort 13LENGTH Thisisabitlonger 20 Oracle8i数据库管理 WinnerSoft SQL内置函数 LENGTHBLENGTHB函数返回字符串的长度 但在多字符集同时使用时会有所区别 其具体的语法格式如下 LENGTHB string 其中 string任意字符串下面是该函数的使用情况 LENGTHB Thisisshort 13LENGTHB Thisisabitlonger 20 Oracle8i数据库管理 WinnerSoft SQL内置函数 LN函数LN返回一数值的自然对数 其具体的语法格式如下 LN number 其中 number大于0的任意数值下面是该函数的使用情况 LN 10 2 3025851EXP 2 3025851 10可见 将函数LN的结果作为参数 通过再调用函数EXP可得到函数LN的原参数值 Oracle8i数据库管理 WinnerSoft SQL内置函数 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数据库管理 WinnerSoft SQL内置函数 LOWER函数LOWER返回参数指定字符串的小写形式 其具体的语法格式如下 LOWER atring 其中 string任意VARCHAR2型或CHAR型的数值下面是该函数的使用情况 LOWER ThisISaTest Thisisatest Oracle8i数据库管理 WinnerSoft SQL内置函数 LPADLPAD函数从左面填充指定的字符串 其具体的语法格式如下 LPAD string numchars padding 其中 string任意VARCHAR2型或CHAR型的字符串numchars返回字符串的字符个数padding填充字符 是一可选项 默认为单个空格下面是该函数的使用情况 LPAD Jenny 10 Jenny 5leadingspaces LPAD Jenny 10 Jenny LPAD Jenny 10 Jenny Oracle8i数据库管理 WinnerSoft SQL内置函数 LTRIMLTRIM函数删除字符串左边的前缀字符 一般前缀字符总是空格 其具体的语法格式如下 LTRIM string trimchars 其中 string任意VARCHAR2型或CHAR型的数值trimchars待删除的字符串下面是该函数的使用情况 LTRIM Jeff Jeff leadingspacesremoved LTRIM Jeff Jeff LTRIM Jeff Jeff Oracle8i数据库管理 WinnerSoft SQL内置函数 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数据库管理 WinnerSoft SQL内置函数 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数据库管理 WinnerSoft SQL内置函数 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数据库管理 WinnerSoft SQL内置函数 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数据库管理 WinnerSoft SQL内置函数 NVLNVL函数需要两个参数 如果第一个参数为空 则返回第二个参数 第二个参数表示是第一个参数的替换对象 其具体的语法格式如下 NVL value alternative 其中 value一个可为空的值 它不为空的时候将作为返回值alternative只要它不是空的就是将被返回的值下面是该函数处理数据库的某些列包括空值时的情况 SELECTemp id NVL emp name NameMissing FROMemp table 在该例中 如果雇员有名字 将通过该函数返回其名字 如果雇员的名字为空 将返回 NameMissing Oracle8i数据库管理 WinnerSoft SQL内置函数 POWER函数POWER返回一个数值的指定次幂 其具体的语法格式如下 POWER number power 其中 number任意数值power幂次数 函数的结果其实即 number幂次 如果第一个参数为负数 则该幂次数务必是一整数 其它情况可为任意数值下面是该函数的使用情况 POWER 10 2 100 10 10 POWER 10 3 1000POWER 10 3 1000 Oracle8i数据库管理 WinnerSoft SQL内置函数 RAWTOHEXRAWTOHEX函数将一raw转换成十六进制字符表示的串值 其具体的语法格式如下 RAWTOHEX raw value 其中 raw value一RAW型数值下面是该函数的使用情况 SQL CREATETABLExx yraw 10 Tablecreated SQL INSERTINTOxxVALUES HEXTORAW 414243 1rowcreated SQL SELECTRAWTOHEX y FORMxx RAWTOHEX Y 414243 Oracle8i数据库管理 WinnerSoft SQL内置函数 REPLACEREPLACE函数在一字符串中搜索一指定的子串 并将其替换成另外一指定串 其具体的语法格式如下 REPLACE string substring replace string 其中 string被搜索字符串 在其中搜索待替换串substring被搜索子串 所有找到的子串均被替换掉replace string替换结果子串 是一可选项 如果该参数被忽略 则所有被搜索到的子串实质上均被删除下面是该函数的使用情况 REPLACE Thisisatest is was Thwaswasatest REPLACE Thisisatest is Thatest Oracle8i数据库管理 WinnerSoft SQL内置函数 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数据库管理 WinnerSoft SQL内置函数 ROUND fornumber ROUND函数将一数值处理 舍入 成第二个参数指定的形式的十进制数 其具体的语法格式如下 ROUND value places 其中 value试图转换的数值places结果中的十进制数位置 必须是一正整数 但可能是一负数 如果是负数 数字就被精确地处理在从小数点其左数的十进制数下面是该函数的使用情况 ROUND 89 985 2 89 90 Notethat 005isroundedup ROUND 89 985 1 90ROUND 89 985 2 100 Oracle8i数据库管理 WinnerSoft SQL内置函数 ROWIDTOCHARROWIDTOCHAR函数将一行标志码 ROWID 转换成一字符串 其具体的语法格式如下 ROWIDTOCHAR rowid 其中 rowid一ROWID型数据下面是该函数的使用情况 SQL SELECTROWIDTOCHAR ROWID FROMdual ROWIDTOCHAR ROWID AAAADCAABAAAAVUAAA Oracle8i数据库管理 WinnerSoft SQL内置函数 RPADRPAD函数在字符串的后面追加若干字符 其具体的语法格式如下 RPAD string numchars padding 其中 string任意VARCHAR2型或CHAR型的数据numchars函数结果串的长度padding追加字符 单个的 是可选项 默认为空格下面是该函数的使用情况 RPAD Jenny 10 Jenny 5trailingspaces RPAD Jenny 10 Jenny RPAD Jenny 10 Jenny Oracle8i数据库管理 WinnerSoft SQL内置函数 RTRIMRTRIM函数压缩掉串右面的尾随字符 常常是从指定字符串 第一参数 中压缩空格 其具体的语法格式如下 RTRIM string trimchars 其中 string任意VARCHAR2型或CHAR型的数据trimchars准备压缩掉的字符 串 下面是该函数的使用情况 RTRIM Jeff Jeff trailingspacesremoved RTRIM Jenny Jeff RTRIM Jenny Jeff Oracle8i数据库管理 WinnerSoft SQL内置函数 SIGNSIGN函数返回实参的符号 对于负数返回 1 0返回0 正数返回 1 其具体的语法格式如下 SIGN value 其中 value输入的实参 你试图返回它的符号下面是该函数的使用情况 SIGN 100 1SIGN 0 0SIGN 100 1可以使用该函数和DECODE函数 根据一个数值的正 负或0 指明表达式间的不同 Oracle8i数据库管理 WinnerSoft SQL内置函数 SINSIN函数返回一个角度的正弦值 其具体的语法格式如下 SIN angle 其中 angle待求解其正弦的角度 是一角度表达式 可参考函数COS了解从弧度到角度的转换下面是该函数的使用情况 SIN 90 3 1415926 180 1SIN 0 0 Oracle8i数据库管理 WinnerSoft SQL内置函数 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 520 Oracle8i数据库管理 WinnerSoft SQL内置函数 SORTSORT函数返回一数字的算术平方根 其具体的语法格式如下 SORT number 其中 number试图求解其平方根的数值 非负数下面是该函数的使用情况 SORT 100 10 because10 10 100 SORT 100 3 1622777 Oracle8i数据库管理 WinnerSoft SQL内置函数 SUBSTRSUBSTR返回一字符串得指定字串 其具体的语法格式如下 SUBSTR string start length 其中 string任意字符串start字串的开始位置 第一个位置总匹配为1 该参数可以为负数 这时从给定字符串的右面数起length待匹配字串的长度 是一可选项 忽略它则匹配整个字符串下面是该函数的使用情况 SUBSTR JennyJeffJonathan 6 4 Jeff SUBSTR JennyJeffJonathan 12 4 Jeff SUBSTR JennyJeffJonathan 8 Jonathan Oracle8i数据库管理 WinnerSoft SQL内置函数 SUBSTRBSUBSTRB返回一字符串的指定部分 该函数与SUBSTR极为类似 只是该函数的start和length两参数均以字节为单位 而不是根据字符 这种区别只有在使用多种不同的字符集时才有意义 其具体的语法格式如下 SUBSTRB string start length 其中 string任意字符串start字串的开始位置 第一个位置总匹配为1 该参数可以为负数 这时从给定字符串的右面数起length待匹配字串的长度 是一可选项 忽略它则匹配整个字符串下面是该函数的使用情况 SUBSTRB JennyJeffJonathan 6 4 Jeff SUBSTRB JennyJeffJonathan 12 4 Jeff SUBSTRB JennyJeffJonathan 8 Jonathan Oracle8i数据库管理 WinnerSoft SQL内置函数 SYSDATESYSDATE函数返回当前日期时间 一直到秒 其具体的语法格式如下 SYSDATESYSDATE没有参数 下面是该函数的使用情况 SQL SELECTSYSDATEFROMDUAL SYSDATE 24 Nov 199906 45 00pm当然 结果会由于用户调用该函数的时机不同而不同 Oracle8i数据库管理 WinnerSoft SQL内置函数 TANTAN函数返回一个角度的正切值 其具体的语法格式如下 TAN angle 其中 angle用弧度表示 可参考函数COS了解从弧度到角度的转换下面是该函数的使用情况 TAN 225 3 1415926535 180 1TAN 0 0 Oracle8i数据库管理 WinnerSoft SQL内置函数 TANHTANH函数返回一个角度的十六进制正切值 其具体的语法格式如下 TANH angle 其中 angle用弧度表示 可参考函数COS了解从弧度到角度的转换下面是该函数的使用情况 TANH 225 3 1415926535 180 99922389TANH 0 0 Oracle8i数据库管理 WinnerSoft SQL内置函数 TO CHAR fordates TO CHAR函数将一个日期型数据转换成一个字符型数据 其具体的语法格式如下 TO CHAR date fmt NLS DATE LANGUAGE language 其中 date任一DATE型数据fmt一个日期格式说明符 它控制了代表日期型数据的字符型结果language使用的语言 它对日期拼读有影响 如在使用月份 日子 星期等时下面是该函数的使用情况 SQL SELECTTO CHAR SYSDATE dd Mon yyyy FROMdual TO CHAR SYS 24 Nov 1999SQL SELECTTO CHAR SYSDATE Month NLS DATE LANGUAGE Spanish FROMdual TO CHAR SY November Oracle8i数据库管理 WinnerSoft SQL内置函数 TO CHAR fornumbers TO CHAR函数将一个数值型数据转换成一个字符型数据 其具体的语法格式如下 TO CHAR date fmt nlsparams 其中 date任一数值型数据fmt一个数字格式说明符 它控制了代表日期型数据的字符型结果nlsparams数字的语言特征 该参数是由若干下列内容组成的字符串 NLS NUMERIC CHARACTERS dg NLS CURRENCY currchar 及NLS TERRITORY territoryd和g表示十进制符号和分隔符 在美国为逗号 货币数值 在美国的一个 符号 常用来表示金钱数值 这两种数值均必须放在引号中下面是该函数的使用情况 TO CHAR 123 45 123 45 TO CHAR 123456 78 999 999 99 123 456 78 TO CHAR 123456 78 L999G999D999 NLS NUMERIC CHARACTERS NLS CURRENCY 123 456 78 注意 NLS参数没有什么效果 必须使用L G和D通行符号 分隔符 小数点等等 Oracle8i数据库管理 WinnerSoft SQL内置函数 TO DATETO DATE函数将一个字符型数据转换成一个日期型数据 其具体的语法格式如下 TO DATE string fmt NLS DATE LANGUAGE language 其中 string待转换的字符串fmt一个日期格式说明符 它控制了代表了转换字符时的处理方式 也是一可选项 忽略它 则使用数据库的默认方式language使用的语言 也是可选项 对日期拼读有影响 下面是该函数的使用情况 第一个TO DATE函数将给定字符串解释成8 Nov 1915 下列显示了TO DATE函数的用法 TO DATE 11 08 1915 MM DD YY 下一次调用则将给定字符串解释成11 Nov 1915 TO DATE 11 08 1915 DD MM YY 最后一个例子将给定字符串解释成11 Nov 1915 TO DATE 11 Nov 1915 MM DD YYYY Oracle8i数据库管理 WinnerSoft SQL内置函数 TO LOBTO LOB函数将一个LONG或LONGRAW型数据转换成下列类型 CLOB BLOB或NCLOB 当仅仅需要在INSERT语句中用LONG型数据代替LOB型数据时 可以使用该函数 其具体的语法格式如下 TO LOB long value 其中 long value待转换为CLOB或NCLOB等类型数据的一个LONG或LONGRAW型数据 LONGRAW型数据转换成BLOB型数据下面是该函数的使用情况 INSERTINTOnew table clob value SELECTTO LOB long value FROMold table Oracle8i数据库管理 WinnerSoft SQL内置函数 TO NUMBERTO NUMBER函数将一字符串转换成一数字 其具体的语法格式如下 TO NUMBER string fmt nlsparams 其中 string待转换的字符串fmt一数字格式说明符号 它将控制转换过程中的处理方式nlsparams语言特征值 该字符串参数的组成部分有以下内容 NLS NUMERIC CHARACTERS dg NLS CURRENCY currchar 及NLS TERRITORY territoryd和g表示十进制符号和分隔符 在美国为逗号 货币数值 在美国的一个 符号 常用来表示金钱数值 这两种数值均必须放在引号中下面是该函数的使用情况 第一个TO NUMBER函数将给定字符串解释成123 45 TO NUMBER 123 45 下一次调用则将给定字符串解释成123 456 78TO NUMBER 123 456 78 999 999 99 Oracle8i数据库管理 WinnerSoft SQL内置函数 TRIMTRIM函数将字符串的前缀 或尾随 字符删除 其具体的语法格式如下 TRIM LEADING TRAILING BOTH trimcharFROM string 其中 LEADING指明仅仅将字符串的前缀字符删除TRAILING指明仅仅将字符串的尾随字符删除BOTH指明既删除前缀字符 也删除尾随字符 这也是默认方式string任意一待处理字符串trimchar可选项 指明试图删除什么字符 默认被删除的字符是空格下面是该函数的使用情况 TRIM Ashley Ashley TRIM LEADING FROM Ashley Ashley Oracle8i数据库管理 WinnerSoft SQL内置函数 TRUNC fordates TRUNC函数为指定元素而截去的日期值 其具体的语法格式如下 TRUNC date fmt 其中 date一个日期值fmt日期格式 该日期将由指定的元素格式所截去 忽略它则由最近的日期截去下面是该函数的使用情况 TRUNC TO DATE 24 Nov 199908 00pm dd mon yyyyhh miam 24 Nov 199912 00 00am TRUNC TO DATE 24 Nov 199908 37pm dd mon yyyyhh miam hh 24 Nov 199908 00 00am Oracle8i数据库管理 WinnerSoft SQL内置函数 TRUNC fornumber TRUNC函数返回处理后的数值 其工作机制与ROUND函数极为类似 只是该函数不对指定小数前或后的部分做相应舍入选择处理 而统统截去 其具体的语法格式如下TRUNC number decimals 其中 number待做截取处理的数值decimals指明需保留小数点后面的位数 可选项 忽略它则截去所有的小数部分下面是该函数的使用情况 TRUNC 89 985 2 89 98TRUNC 89 985 89TRUNC 89 985 1 80注意 第二个参数可以为负数 表示为小数点左边指定位数后面的部分截去 即均以0记 Oracle8i数据库管理 WinnerSoft SQL内置函数 UIDUID函数返回一个整数值 对于当前数据库用户来它是唯一的 其具体的语法格式如下 UID该函数没有参数下面是该函数的使用情况 SQL SELECTUIDFROMdual UID 5该数值来源于V SESSION中的USER 列 Oracle8i数据库管理 WinnerSoft SQL内置函数 UPPERUPPER函数间返回字符串的大写形式 其具体的语法格式如下 UPPER string 其中 string任意VARCHAR2或CHAR型字符串下面是该函数的使用情况 UPPER THISISaTest THISISATEST Oracle8i数据库管理 WinnerSoft SQL内置函数 USERUSER返回当前用户名 没有参数 其具体的语法格式如下 USER下面是该函数的使用情况 SQL SELECTUSERFROMdual USER SYSTEM当任一内嵌的函数或程序调用该函数时 该函数总返回该调用者的名字 Oracle8i数据库管理 WinnerSoft- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OracleSQL 内置 函数 大全
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文