转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
Oracle 常用SQL函数         ★★★★

Oracle 常用SQL函数

作者:闵涛 文章来源:闵涛的学习笔记 点击数:726 更新时间:2009/4/22 22:04:16

航海日志 第1篇

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)


[Access]sql随机抽取记录  [Access]ASP&SQL让select查询结果随机排序的实现方法
[系统软件]EXP-00008: ORACLE error 904 encountered的解决方…  [系统软件]SQL语句性能优化--LECCO SQL Expert
[常用软件]PB7 连接 Oracle 的配置方法  [C语言系列]SQL Server到DB2连接服务器的实现
[C语言系列]SQL Server到SYBASE连接服务器的实现  [C语言系列]SQL Server到SQLBASE连接服务器的实现
[C语言系列]SQL Server连接VFP数据库的实现  [C语言系列]ASP+SQL Server之图象数据处理
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台