`
gaozzsoft
  • 浏览: 413350 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Oracle和DB2的SQL语句区别

阅读更多
1、取前N条记录

Oracle:Select * from TableName where rownum <= N;

DB2:Select * from TableName fetch first N rows only;

2、取得系统日期

Oracle:Select sysdate from dual;

DB2:Select current timestamp from sysibm.sysdummy1;

3、空值转换

Oracle:Select productid,loginname,nvl(cur_rate,'0') from TableName ;

DB2:Select productid,loginname,value(cur_rate,'0') from TableName;

Coalesce(cur_rate,'0')

4、类型转换(8版有了to_char,to_date,9版新增了to_number)

Oracle:select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

DB2:select varchar(current timestamp) from sysibm.sysdummy1;

l        Oracle数据类型改变函数:to_char()、to_date()、to_number()等;如果仅仅取年,月,日等,可以用to_char(sysdate, 'YYYY'),to_char('MM') ,to_char('DD')取得。只取年月日TRUNC(SYSDATE),取时分秒TO_CHAR(SYSDATE,'HH24:MI:SS')。

l        DB2数据类型改变函数:char()、varchar()、int()、date()、time()等;取得年,月,日等的写法:YEAR(current timestamp),MONTH(current timestamp),DAY(current timestamp),HOUR(current timestamp),MINUTE(current timestamp),SECOND(current timestamp),MICROSECOND(current timestamp),只取年月日可以用DATE(current timestamp),取时分秒TIME(current timestamp)。Char()是定长字符串(1-255),varchar()为非定长字符串(1-32672)日期,时间形态变为字符形态: char(current date),char(current time)将字符串转换成日期或时间形态:TIMESTAMP('2002-10-2012:00:00'),DATE('2002-10-20'),DATE('10/20/2002'),TIME('12:00:00')

l     目前DB2 V8也支持to_char和to_date

5、快速清空大表

Oracle:truncate table TableName ;

DB2:alter table TableName active not logged initially with empty table;

6、关于ROWID

Oracle它是由数据库唯一产生的,在程序里可以获得DB2       v8也有此功能。

7、To_Number

Oracle:select to_number('123') from dual;

DB2:select cast('123' as integer) from sysibm.sysdummy1;

SELECT  CAST ( current time as char(8)) FROMsysibm.sysdummy1

8、创建类似表

Oracle:create table a as select * from b ;

DB2:create table a like b ;

CREATE TABLE tab_newAS select col1,col2…FROMtab_old DEFINITION ONLY (8版有效,9版无效)

9、decode方法

Oracle:decode方法(DECODE(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值))或者case语句DB2中只有CASE表达式SELECT id ,name ,CASE WHEN integer(flag)=0 THEN ‘假’ WHEN integer(flag)=1 THEN ‘真’ ELSE  ‘异常’END   FROM TEST或者SELECT id ,name , CASE integer(flag) WHEN 0 THEN ‘假’ WHEN 1 THEN ‘真’ELSE  ‘异常’END   FROM TEST

10、子查询(8版,9版也支持子查询)

Oracle:直接用子查询

Db2:with语句WITH  a1 AS(select max(id) as aa1 from test )   select id ,aa1 from test ,a1

11、数据类型

比较大的差别:

Oracle:char  2000

DB2:      char  254

Oracle:  date   datetime

Db2:       DATE:日期TIME:时间TIMESTAMP:日期时间

分享到:
评论

相关推荐

    SQL_Server,Oracle,DB2数据库SQL语句比较

    SQL_Server,Oracle,DB2数据库SQL语句比较

    Oracle迁移到DB2 SQL语句差异

    在做项目的过程中,客户有可能会要求换数据库,那么除啦配置上的差异,还有最基本的Sql语句的差别,在这儿将这全部列出,为开发人员减轻痛苦.

    数据库表数据转为insert sql语句

    Data row to insert sql是一个小的工具软件,可以将数据库表中指定数据转换成相应的insert sql语句。目前支持的数据库类型为oracle,db2,ms sql server。 目前还有一些缺陷,还有待完善,具体如下: 1、对ms sql ...

    经典SQL语句大全,oracle,informix,db2,mysql

    经典SQL语句大全,oracle,informix,db2,mysql里面常用的SQL集合整理

    oracle或db2的建表SQL语句解析

    读取oracle或db2的建表SQL语句文本文件(.txt),解析后转为java对象且序列化后存为.dm文件

    Sql经典练习题库(附答案)

    它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能,在多数情况...

    微型Sql Server查询分析器、数据库比较工具,SQL语句编写助手

    微型Sql Server查询分析器: 有时为了解决问题,需要...SQL语句编写助手SQLAssistant: 对主流数据库Sql Server,Oracle,DB2,MySql,Access等都可用,写脚本或存储过程时提示功能十分强大,十分方便,包你爱不释手

    SQL语句生成及分析器

    无论多么复杂的语句,都能分析出来(包括SQL各子句中嵌套的SQL语句) 5、数据库视图定义和重建 6、支持将SQL查询语句,替换为插入(Insert into)和更新(Update)语句 7、附属工具内嵌入Delphi IDE(支持Delphi 5和...

    Sql语句和数据库教程

    内容概要:介绍几种经常使用的数据库,如MySQL,mssql,Oracle,DB2,Sybase。以及SQL语法,SQL语句。表结构、视图、函数、索引等,常见数据库问题的处理。 适合人群:需要系统学习数据库和SQL的,想提升技能的,想...

    数据库转换工具,可实现oracle,mysql,sqlserver,sybase,db2相互转换

    数据库转换工具,可实现oracle,mysql,sqlserver,sybase,db2相互转换

    SQL server的sql语句知识体系框架

    对sql语句的学习,复习都有帮助。 SQL 概述 SQL,一般发音为 sequel,SQL 的全称 Structured Query Language),SQL 用来和数据库打交道,完成和数据库的通信,SQL 是一套标准。但是每一个数据库都有自己的特性别的...

    SQL语句生成及分析器(中文绿色)

    大型数据库Oracle,Sybase(包括SQL AnyWhere),DB2,MS_SQL 中型数据库MS_Access,MySQL 桌面型数据库Paradox,DBF系列数据库,MS_Execl,Text 其他支持SQL 92标准的数据库 2、数据库的连接采用ADO连接,因此...

    经典SQL语句大全

    10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1...

    oracle ,sybase,mysql,db2各种数据库监控

    oracle ,sybase,mysql,db2各种数据库监控脚本,及相关SQL语句。

    用一条SQL语句将数据表中某列更新到另一个数据表里

    用一条SQL语句将数据表中某列更新到另一个数据表里

    sql语句妙用,各种sql语句的详细用法与讲解 .doc

    sql语句妙用,各种sql语句的详细用法与讲解 .docsql语句妙用,各种sql语句的详细用法与讲解 .doc

    sql语句生成与分析器

    大型数据库Oracle(包括Oracle Lite),Sybase(包括SQL AnyWhere),DB2,MS_SQL 中型数据库MS_Access,MySQL 桌面型数据库Paradox,DBF系列数据库,MS_Execl,Text 其他支持SQL 92标准的数据库

    Oracle SQL Monitor

    Oracle跟踪用软件工具,截取Oracle数据库执行语句工具, 将调用执行语句跟踪列出来,自测在Win7下能用。

    嵌入式SQL(E-SQL)简介

    4.3.1 ORACLE动态SQL语句的一些特点 72 4.3.2 使用动态SQL的四种方法 72 4.3.3 SQLDA 75 第五节INFORMIX的嵌入SQL/C语言 89 5.1 一个简单的入门例子 89 5.2 宿主变量 91 5.3 嵌入SQL的处理过程 96 5.4 动态SQL语言 ...

Global site tag (gtag.js) - Google Analytics