畅享博客 > 企业信息化之路 > ORACLE > oracle常用查詢、函數
2008-3-31 11:45:47

oracle常用查詢、函數

1.取資料的前10筆

select DISTINCT *  from 表名 WHERE ROWNUM <= 10

2.取系統日期,轉換為字符串

select to_char(sysdate,'yyyy-MM-dd') from dual

3.取得日期中得特定部分

EXTRACT提取日期中的特定部分,格式取值可以是:year,month,day,hour,minute,second。

select EXTRACT(YEAR FROM sysdate) from dual

4.字符函數:

4.1   initcap     首字母大寫 initcap(char)  例: select initcap('hello')  from dual

4.2   lower       轉換為小寫lower(char)     例:select lower('HeLLO')  from dual

4.3   upper       轉換為大寫upper(char)     例:select upper('hello')  from dual

4.4   ltrim/rtrim  左/右剪裁                 例:select ltrim('hello','he')  from dual

4.5   replace     字符串替換                例:select replace('hello','h','j')  from dual

4.6   instr       查找字符串位置            例:select instr('hello','e')  from dual

4.7   substr     截字符串substr(char,起始,長度)  例:select substr('hello',2,3)  from dual

4.8   concat    連接字符串concat(char1,char2) 例:select concat('hello','world')  from dual

5.轉換函數

5.1   to_char  

to_char(d|n [,fmt]) d是日期,n是數字,fmt是日期或數字的格式。

例:   select to_char(sysdate,'yyyy-MM-dd')  from dual

5.2   to_date

to_date(char [,fmt]) fmt為轉換格式,to_char將char或varchar轉換為日期數據類型

例:select to_date('2007-05-07','YYYY-MM-DD')  from dual

5.3   幾個轉換null值的單行函數

5.3.1   nvl

將null轉換為指定的值,語法:nvl(expression1,expression2)

例:select nvl(m.logintime,0) from 表 m (logintime為null時顯示為‘0’)

5.3.2   nvl2

語法:nvl2(expression1,expression2,expression3)

expression1不為null,返回expression2,附則返回expression3

例: select nvl2(logintime,logintime,0) from member m

6.統計函數

AVG(平均值),MIN(最小值),MAX(最大值),sum(求和),count(計算行數)

例select count(*) from 表   (統計所有的)

select count(字段) from 表   (統計非空)


推荐到鲜果:

评论

有个问题请教一下 笔者 SQL SERVER与Orcale你怎么比较的

发布者 enjoyeveryday
2008-3-31 13:17:55


随着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高。

  操作系统的稳定对数据库来说是十分紧要的,在数据库可操作平台上,Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。对开发商来说是很大的支持。而SQL Server却只能在Windows上运行了,这个就显得比较单调了,但SQL Sever在Window平台上的表现,和Windows操作系统的整体结合程度,使用方便性,和Microsoft开发平台的整合性都比Oracle强的很多。但Windows操作系统的稳定性及可靠性大家是有目共睹的,再说Microsoft公司的策略目标是将客户都锁定到Windows平台的环境当中,只有随着Windows性能的改善,SQL Server才能进一步提高。从操作平台这点上Oracle是完全优胜于SQL Server的了。

  从资料上可以看到,Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证。这方面证明了Oracle的安全性是高于SQL Server的。

  购买一个产品,首先考虑的当然是产品的性能了,当考虑性能的同时当然少不了究竟要花多少钱在这产品也是个很关键的问题。要建立并运行一个数据库系统。不仅仅包含最初购置软件、硬件的费用,还包含了培训及以后维护的费用。Orcale数据库的价格是远比SQL Server数据库要高,为什么Oracle数据库比SQL Server数据库价格上要高出那么多,一方面Oracle的初始花费相对较高,特别是在考虑工具软件的时候,Oracle很多工具软件需要另外购买,与Microsoft提供免费的SQL Server工具软件相比,Oracle更显价格的不菲。但由于SQL Server只能在Windows下运行的原因,普遍认为SQL Server数据库的可靠性是比较差的。Oracle的性能优势体现在他的多用户上,而SQL Server的性能优势在多用户上就显得力不从心了。

  操作上SQL Server明显要比Orcale简单,如果你用过Java和DOTNET的开发平台,区别的基本就是Oracle和SQL Server不同,Oracle的界面基本是基于Java的,大部分的工具是Dos界面的,甚至SQLPlus也是, SQL Server是跟VB一样,全图形界面,很少见到DOS窗口。SQL Server中的企业管理器给用户提供一个全图形界面的集成管理控制台来集中管理多个服务器。Oracle也有自己的企业管理器,而且它的性能在某些方面甚至超过了SQL Server的企业管理器,但它安装较为困难。

  Orcale数据库和SQL Server数据库那个更快?其实是一个很难答的问题,因为存在许多不定因素,包括处理类型、数据分布以及硬件基础设施等。

  SQL Server 2000是一个具备完全Web支持的数据库产品,提供了可扩展标记语言核心支持以及Internet上和防火墙外进行查询的能力,具有可伸缩性、灵活性、扩充性好,而且价格便宜等特点,而Oracle则有着可靠安全性,速度比SQL Server快上百倍,但其价格在实施中却比SQL Server它高出了几百倍。

  其实各行业考虑选择那种数据库,是由数据库的特点以及根据自己的业务需求和基础设施综合考虑来决定的。

发布者 峰峦猎人
2008-3-31 20:50:46


您正在以 匿名用户 的身份发表评论  快速登录
(不得超过 50 个汉字)
       看不清,换一个
提示消息
(输入完内容可以直接按Ctrl+Enter提交)