时间:2005-02-18
oracle的sql函数分为单行函数和多行函数。单行函数只对单条记录有效,多行函数对多条记录有效。
单行函数包括,字符、数字、日期、转换和普通函数。
字符函数举例:•
全小写 lower('sql course') sql course•
全大写 upper('sql course') sql course
•首字母大写 initcap('sql course') sql course拼接 concat('good', 'string') goodstring 取子串 substr('string',1,3) str 求长度 length('string') 6
数字函数举例:round -- 对数值进行四舍五入操作trunc -- 截断。注意截断和舍入的位数,可以是负数。round (45.923, 2) 45.92 round (45.923, 0) 46 round (45.923, -1) 50 trunc (45.923, 2) 45.92 trunc (45.923) 45 trunc (45.923, -1) 40
mod -- 返回两数相除的余数
mod(1600, 300) -- 100
日期函数:•oracle将日期按照内部格式将日期存成以下七个字节-世纪、年、月、日、时、分、秒。•在oracle中日期缺省的显示格式为:dd - mon - yy 。•可以使用系统变量 sysdate 获取系统时间•。查看 sysdate时,可以使用虚拟表dual。
举例:求两个日期间有多少个月份 months_between('01-sep-95','11-jan-94') 1.9774194在日期上加指定的月数 add_months('11-jan-94',6) '11-jul-94'下一个星期几是什么时候 next_day('01-sep-95','friday') '08-sep-95'某月最后一天 last_day('01-sep-95') '30-sep-95'
把日期四舍五入到月份 round('25-may-95','month') 01-jun-95 round('25-may-95 ','year') 01-jan-95把日期截断到月份 trunc('25-may-95 ','month') 01-may-95 trunc('25-may-95 ','year') 01-jan-95
转换函数
to_char 将数字或日期转换为字符串to_number 将字符串转换成数字to_date 将字符串转换成日期在转换函数中会使用格式串
to_char(date, 'fmt')格式串包含在''中, 大小写敏感, 可以是任意有效的日期格式格式串:yyyy 表示完整的四位数字年year 表示英文拼写的年mm 表示两位数字月month 表示英文全拼的年dy 表示三位缩写的星期day 表示英文全拼的星期
一些特殊用法:时间格式 hh24:mi:ss am 15:45:32 pm在格式串中加入字符串 dd " of " month 12 of october用后缀拼出整个日期 ddspth fourteenth
to_char(number, 'fmt')使用此函数将数字转换成数字 9 表示数字 0 强制为0 $ 设置美元符号 l 使用当前字符集的货币符号 . 小数点 , 千位分隔符
可以使用to_number将字符串转换成数字可以使用to_date将字符串转换成格式日期to_date ('10 september 1992', 'dd month yyyy')
使用格式串to_date(char [, 'fmt'])
普通函数null值处理函数
nvl (expr1, expr2) 如果expr1为null,返回expr2nvl2 (expr1, expr2, expr3) 如果expr1为非空,则返回expr2,如果expr1为null,则返回expr3nullif (expr1, expr2) 如果expr1=expr2,返回null,否则返回expr1
coalesce (expr1, expr2, ..., exprn) 返回表达式列表中的第一个非空表达式
条件表达式,用case表达式或decode实现条件逻辑case表达式case expr when comparison_expr1 then return_expr1 [when comparison_expr2 then return_expr2 when comparison_exprn then return_exprn else else_expr]end
decode函数decode(col|expression, search1, result1 [, search2,result2,...,] [, default])
分组函数:avg (distinct|all|n)count (distinct|all|expr|*)max (distinct|all|expr)min (distinct|all|expr)stddev (distinct|all|n)sum (distinct|all|n)variance (distinct|all|n)
作者blog: <http://blog.csdn.net/blueboy2000/>相关文章oracle 常用sql函数