SQL四种语句类型:
1.数据定义语言 (DDL)
定义数据对象的属性。
例如. CREATE, ALTER, DROP, TRANSFER OWNERSHIP。
2.数据管理语言 (DML)
用来返回,添加,编辑和删除数据。
例如. SELECT, INSERT, UPDATE, DELETE。
3.数据控制语言 (DCL)
控制数据库和数据对象的访问。
例如. GRANT, REVOKE。
4.事务控制语言 (TCL)
将一组DML语句组合到事务中来集中地应用到一个数据库或者因为错误而处于未完成的状态。
例如. COMMIT, ROLLBACK, SAVEPOINT。
DB2与ORACLE语法对比
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;
Select current timestamp from sysibm.dual;
3.空值转换
Oracle:Select loginname, nvl(cur_rate,'0') from TableName;
DB2:Select loginname, nvl(nullif(cur_rate,’ ’),’0’) from TableName; (DB2v9.5以后已经支持)
4.隐性转换
Oracle: select 'abc' from dual where '1'=1 ;
DB2: select ‘abc’ from sysibm.dual where ‘1’=1;(DB2客户机9.5以前的不支持隐性转换)
5.数据类型转换函数
转换形式 ORACLE DB2 DB2兼容写法
整型转字符型 to_char(1) char(1) cast(1 as char)
字符串转整型 to_number('1') int(‘1’)、dec('1') cast('1' as int)
字符串转浮点型 to_number('1.1') Double(‘1.1’)
浮点型转字符串 to_char(1.1) char(1.1)
字符串转日期
oracle: to_date('2007-04-26','yyyy-mm-dd')
db2: date(‘2007-04-26’)、to_date('2007-04-26','yyyy-mm-dd')
日期转字符串
oracle: to_char(to_date(‘2007-04-29’,‘yyyy-mm-dd’),‘yyyy-mm-dd’),系统时间:sysdate
db2:char(date('2007-04-29'));
char(to_date(‘2007-04-26’,‘yyyy-mm-dd’))他会产生时分;to_char(to_date(‘2007-04-26’,‘yyyy-mm-dd’),‘yyyy-mm-dd’);
系统时间:current timestamp带有时分秒;current date
字符串转时间戳
oracle: to_date('2007-04-26 08:08:08','YYYY-MM-DD HH24:MI:SS’)
db2:to_date('2007-04-26 08:08:08','YYYY-MM-DD HH24:MI:SS')
6.取日期类型函数
Oracle:取年、月、日用:to_char(sysdate,’YYYY’),to_char(sysdate,’MM’) ,to_char(sysdate,’DD’)取得;只取年月日trunc(sysdate);取时分秒to_char(sysdate,’HH24:MI:SS’)。
DB2:取年、月、日用: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)。字符串转换为时间timestamp(‘2012-10-20 12:00:00’),date(‘2012-10-20’),date(‘10/20/2002’),time(‘12:00:00’)。
7.快速清空大表
Oracle:truncate table tableName;
DB2:alter table tableName activate not logged initially with empty table;
8.创建类似的表
Oracle:create table a as select * from tableName;
DB2: create table a like tableName 或create table a as(select * from hh_app.a) definition only in tbs_hh;
9.插入数据(insert)
DB2:insert into a values(1,’tt’),(2,’bb’);
10.更新数据(update)
Oracle:update a set a=100,b=200;
DB2:update a set (a,b)=(100,200); update a set a=100,b=200
DB2常用视图
1.查询当前用户有N张表
select count(*) from sysibm.SYSTABLES where creator='APP_D'
2.查询当前DB2的版本
select * from sysibm.sysvERSIONS
3.查询TABLESPACE的状况
select * from sysibm.SYSTABLESPACES
4.查询DB2的数据类型
select * from sysibm.SYSDATATYPES
5.查询BUFFERPOOLS状况
select * from sysibm.SYSBUFFERPOOLS
6.查看表的约束
select * from SYSCAT.CHECKS WHERE TABNAME=‘AAA'
7.查询DB2分区
select * from syscat.DATAPARTITIONS
8.查看数据库的存储过程
select * from SYSCAT.PROCEDURES
9.查询SEQUENCE的状况
select * from sysibm.SYSSEQUENCES
分享到:
相关推荐
本文将深入探讨Oracle与DB2的区别,并提供一些常见问题的解决策略。 一、Oracle数据库 Oracle,由甲骨文公司开发,是全球最大的企业级数据库解决方案之一。它的优势在于其强大的性能、可扩展性和安全性。Oracle...
oracle与db2基本数据类型和语法的差异总结
Oracle 和 DB2 是两种广泛应用的关系型数据库管理系统,它们在语法和功能上存在一些差异。以下是对两者主要区别的详细分析: 1. 取前 N 条记录: - Oracle 使用 `SELECT * FROM TableName WHERE ROWNUM ;` - DB2 ...
### Oracle与DB2的主要区别 本文旨在探讨Oracle与DB2这两种主流关系型数据库管理系统(RDBMS)之间的关键差异。Oracle由甲骨文公司开发,而DB2则由IBM推出。两者均广泛应用于企业级环境,提供了强大的数据管理能力。...
oracle与db2的区别, 首先,我们需要理解 Oracle 使用的架构,并理解它与 DB2 的不同之处。
"DB2与ORACLE常用语句对照"的主题旨在帮助用户理解和转换这两种数据库系统中的SQL命令。下面将对一些常见的SQL语句和概念进行详细解释,以便于在两个系统间进行迁移或比较。 1. 数据定义语言(DDL): - 在Oracle中...
以下是对Oracle与DB2之间主要区别的详细分析: 1. **许可证模式**: - Oracle提供多种许可证选项,包括单用户许可证、CPU许可证、基于处理器的复杂度和用户数的许可证等。这种灵活性使得Oracle能够适应不同规模的...
### DB2常用函数与Oracle比较 本文档旨在深入解析DB2和Oracle数据库中常用函数的异同之处,以便于从一种数据库系统迁移至另一种系统的人员能够快速掌握并适应新的环境。我们将从类型转换函数、时间日期相关的函数...
#### 一、Oracle SQL PL与DB2 inline SQL PL对比 本章节主要介绍Oracle SQL PL与DB2 inline SQL PL之间的对比,包括但不限于存储过程、触发器、用户定义函数(UDF)、条件语句及流程控制等。 ##### 1.1 创建存储...
标题与描述均聚焦于SQL Server, Oracle, 和DB2数据库中的SQL语句比较,这是一个对IT专业人士特别是数据库管理员(DBA)、开发人员以及对数据库技术感兴趣的人来说极为实用的主题。以下是对给定文件中提及的关键知识点...
### ORACLE与DB2的区别和转换 #### 一、简介 在数据库领域,Oracle和DB2都是非常流行的数据库管理系统。它们各自具有独特的特性和优势,并且广泛应用于不同的业务场景中。对于那些需要在Oracle和DB2之间进行数据...
本文将深入探讨ORACLE和DB2两种主流数据库在开发过程中的对比,重点分析它们在不同场景下的语法差异。 首先,我们来看如何在ORACLE和DB2中选取前N条记录。在ORACLE中,可以使用`rownum`来限制查询结果的数量,例如`...
《舞动DB2之2:从Oracle到DB2开发 从容转身》的资源主要探讨了在数据库领域中,从Oracle系统向IBM的DB2数据库迁移的过程、风险与应对策略,以及如何平滑过渡到DB2的开发环境。在这个过程中,我们将深入理解两个...
- **Oracle** 和 **DB2** 都支持创建用户自定义函数,但在DB2中语法略有不同。 ```sql -- Oracle CREATE FUNCTION function_name(parameters) RETURN return_type IS -- DB2 CREATE FUNCTION function_name...
例如,Oracle 的 PL/SQL 与 DB2 的 SQL PL 在存储过程和触发器的编写上有区别。 7. **许可证和成本**: - Oracle 和 DB2 都提供不同级别的许可证和定价,根据企业的需求和规模,这可能是选择数据库系统时的重要...
Oracle、SQLServer、Symfoware、DB2、SYBASE数据库对比语法及函数
Oracle 语法及常用命令 Oracle 语法是关系型数据库管理系统的核心语言,用于管理和操作数据库。下面是 Oracle 语法及常用命令的详细知识点: 一、数据库概述 * 数据库是按照数据结构来组织、存储和管理数据的仓库...
Oracle允许为列指定默认值,而DB2也有类似的机制,但它们的语法和处理方式可能不完全一致。 总的来说,理解Oracle和DB2之间的数据类型对照可以帮助数据库管理员、开发者和数据迁移专家更好地进行跨平台操作,确保...