2 date '2010-2-12' + NUMTOYMINTERVAL(1, 'month') newdate2 3 from dual;
NEWDATE1 NEWDATE2 ----------- ----------- 2011-2-12 2010-3-12
NUMTODSINTERVAL()
NUMTODSINTERVAL(N,CHAR) 返回CHAR中指定单位的时间间隔数值,一般用于日期加减运算。char可以为DAY,HOUR,MINUTE,SECOND。
SQL> select date '2010-2-12' + NUMTODSINTERVAL(1, 'DAY') newdate1, 2 date '2010-2-12' + NUMTODSINTERVAL(1, 'HOUR') newdate2 3 from dual;
NEWDATE1 NEWDATE2 ----------- ------------------------
2010-2-13 2010-2-12 上午 01:00:00
TO_MULTI_BYTE()
语法 说明 TO_MULTI_BYTE(string) 将单字节字符串string替换为等价的多字节字符。该函数仅当数据库字符集同时包含单字节和多字节字符的时候才使用。否则,string不会进行任何处理而被返回。TO_MULTI_BYTE()和TO_SINGLE_BYTE互为反函数。 示例 SQL> select to_multi_byte('YK') string, lengthB(to_multi_byte('YK')) lengthb fro m dual; STRI LENGTHB ---- ---------- YK 4 TO_LOB()
语法 说明 TO_LOB(long) 用于将LONG或LONG RAW类型的数据转换为CLOB或BLOB。这个函数只能够用于INSERT语句的子查询中。由于Oracle不推荐使用LONG和LONG RAW数据类型,因此这个函数的使用机会越来越少。 示例 TO_NUMBER()
语法 说明 TO_NUMBER(string [, format]) 将CHAR或VARCHAR2类型的字符串string转换为一个NUMBER类型的数值。如果指定了format,则string应该遵循相应的数字格式。合法的数字格式见“数字格式分量”表。TO_NUMBER()和TO_CHAR()互为反函数。 示例 SQL> select to_number('$12345.67', '$99999.99') to_number from dual; TO_NUMBER ---------- 12345.67 TO_SINGLE_BYTE()
语法 说明 TO_SINGLE_BYTE(string) 将string中所有多字节的字符转换为它们等价的单字节字符。该函数仅当数据库字符集同时包含单字节和多字节字符的时候才使用。否则,string不会进行任何处理而返回。TO_SINGLE_BYTE()和TO_MULTI_BYTE()互为反函数。 示例 TO_TIMESTAMP()
语法 说明 示例 TO_TIMESTAMP(string) 将string转换成TIMESTAMP。string必须是一个符合日期时间格式的字符串。 SQL> select to_timestamp('24-6月-2008') from dual; TO_TIMESTAMP('24-6月-2008') -------------------------------------------------- 24-6月 -20 08.00.00.000000000 上午 TO_TIMESTAMP_TZ()
语法 说明 示例 TO_TIMESTAMP_TZ(string [, format]) 将string转换成带有时区标志的TIMESTAMP。string必须是一个符合日期时间格式的字符串。 TO_YMINTERVAL()
语法 说明 TO_YMINTERVAL(string) 该函数将以字符串表示的日期时间转换成实际的日期时间。通常用作对某一日期时间进行增减。string中的年和月之间必须以“-”分隔。TO_YMINTERVAL()和TO_DSINTERVAL()的使用类似。 示例 SQL> select to_yminterval('2-10') from dual; TO_YMINTERVAL('2-10') -------------------------------------------- +000000002-10 TRANSLATE()
语法 说明 示例 TRANSLATE(string USING {CHAR_CS | NCHAR_CS}) 这个函数用来将数据库字符集中的字符转换到国家字符集中,或者完成相反的操作。 SQL> select translate('袁昆' using nchar_cs) translate from dual; TRAN ---- 袁昆 有效日期格式
日期格式 “文本内容” AD、A.D. AM、A.M. BC、B.C. CC、SCC D DAY DD DDD DY IW IYY、IY、I IYYY HH、HH12 HH24 MI MM MONTH MON PM、P.M. Q RM 说明 在双引号中包含的文本内容被原样输出到日期字符串中 公元后。带或者不带句点 午前。带或者不带句点 公元前。带或者不带句点 世纪。SCC以负数返回BC日期 一周中的星期几(1…7)。 天的名称(星期一…星期日),使用空格填充到九个字符长。 月中的第几天(1…31)。 年中的第几天(1…366) 一星期中某天的英文简写。 根据ISO标准的年中的第几周(1…52,1…53) ISO年中的后三位数据。 ISO年的全部四位数据。 天中的时(1…12) 天中的时(0…23) 分(0…59) 月(1…12) 月份的名称,使用空格填充使之达到九个字节长。 月份英文的简写。 午后。带或者不带句点。 一年的第几个季度(1…4)。 罗马数字的月份(I…XII)。 RR SS SSSSS WW W Y、YYY YEAR、SYEAR YYYY、SYYYY YYY、YY、Y 世纪中年份的最后两位数字。 秒(0…59)。 天中的秒(0…86399)。 年中的第几个星期(1…53)。第一周从一年的第1天开始。 月中的第几个星期(1…5)。第一周从该月的第1天开始。 年份,并使用逗号进行分位。 用英文单词拼写出的年份。SYEAR将BC日期作为负数返回。 四位的年份。SYYYY将BC日期作为负数返回。 年份的最后3、2或1位数据。 数字格式分量
格式分量 9 99 示例 说明 每个9表示了结果中的一个有效位。返回值中有效位的个数和9的个数是相同的,如果是负数,前面则有一个负号。所有前导的0都是空格,不会显示出来。 0 0 $ B MI S S PR D G C L , . V EEEE RM 0099 9900 $999 B999 999MI S9999 9999S 99PR 9999D99 9G999 C99 L999 999,999 99.99 99V999 9.99EEEE RM 用0替换数字前的空格并返回。 用0替换数字后的空格并返回。 返回带有前导美元符号的数值。 当整数部分是0的时候,将该小数的整数部分填充为空格。 返回带有后继负号而不是前导负号的负数值。 为正数返回一个前导符号+,为负数返回前导符号-。 为正数返回一个后继符号+,为负数返回后继符号-。 使用尖括号(<>)返回一个负数。 在指定位置返回一个小数点。左侧和右侧的9的个数指定了最大的位数。 在指定位置上返回千分位分隔符。G可以在格式字符串上出现多次。 在指定位置上返回ISO货币符号。C在格式字符串上也可以出现多次。 在指定位置上返回本地货币符号。 在指定位置上返回一个逗号,不管指定的千分位分隔符是什么。 在指定位置上返回一个小数点,不管指定的小数点指示符是什么。 返回一个被乘以10的n次方的数值,这里n是V后面的9的个数。 使用科学计数法返回该数值。 使用大写的罗马数字表示返回该数值。 聚合函数
AVG()
语法 说明 示例 AVG([DISTINCT | ALL] col) 返回列数值的平均值。它的使用范围仅限于查询结果和GROUP BY子句。 COUNT()
语法 说明 COUNT(* | [DISTINCT | ALL] col) 返回查询中行的数目。如果使用了“*”,则返回所有行的总数。如果在参数中传递的是具体字段,则计算的是非空数值。 示例 SQL> select count(job) from emp; COUNT(JOB) ---------- 14 SQL> select count(distinct job) from emp; COUNT(DISTINCT JOB) ------------------ 5 MAX()
语法 说明 示例 MAX(col) 返回列中的最大值。 MIN()
语法 说明 示例 MIN(col) 返回列中的最小值。 STDDEV()
语法 说明 STDDEV([DISTINCT | ALL] col) 返回所选字段值的标准差。标准差被定义为方差的平方根。因此参数字段必须是数字。