没有合适的资源?快使用搜索试试~ 我知道了~
首页Oracle迁移到DB2 SQL语句差异
Oracle迁移到DB2 SQL语句差异
需积分: 15 67 浏览量
更新于2023-03-03
评论
收藏 41KB DOC 举报
在做项目的过程中,客户有可能会要求换数据库,那么除啦配置上的差异,还有最基本的Sql语句的差别,在这儿将这全部列出,为开发人员减轻痛苦.
资源详情
资源评论
资源推荐

Oracle 迁移到 DB2 SQL 语句差异
取前 N 条
记录
Oracl
e
Select * from TableName where rownum <= N;
DB2 Select * from TableNamefetch rst N rows only;
取得系统
日期
Oracl
e
Select sysdate from dual;
DB2 Select current timestamp from sysibm.sysdummy1;
空值转换
Oracl
e
Select productid,loginname,nvl(cur_rate,'0') from TableName ;
DB2 Select productid,loginname,value(cur_rate,'0') from TableName;
类型转换
Oracl
e
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
DB2 select varchar(current timestamp) from sysibm.sysdummy1;
■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')。
■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-20
12:00:00'),DATE('2002-10-
20'),DATE('10/20/2002'),TIME('12:00:00')
快速清空
大表
Oracl
e
truncate table TableName ;
DB2 alter table TableName active not logged initially with empty
table;
关于
ROWID
Oracl
e
它是由数据库唯一产生的,在程序里可以获得
DB2
有此概念,但不能被程序获得。
To_Num
ber
Oracl
e
select to_number('123') from dual;
DB2 select cast('123' as integer) from sysibm.sysdummy1;
复制创建
表
Oracl
e
create table a as select * from b ;

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0