`
silencexiekai
  • 浏览: 6960 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle函数应用

 
阅读更多
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,返回expr2
  NVL2 (expr1, expr2, expr3)
   如果expr1为非空,则返回expr2,如果expr1为NULL,则返回expr3
  NULLIF (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)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics