日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

db2与oracle的区别 锁,db2和oracle语句区别

發布時間:2024/10/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 db2与oracle的区别 锁,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;

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:日期時間

總結

以上是生活随笔為你收集整理的db2与oracle的区别 锁,db2和oracle语句区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。