首页 > 数据库 > Oracle > 正文

Oracle 常用SQL函数

2020-03-09 22:55:57
字体:
来源:转载
供稿:网友

时间: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函数  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表