在DB2中如何實現Oracle的相關功能(二)

oracle

在DB2中如何實現Oracle的相關功能(二)
作者﹕CCBZZP
    在現實的應用中大家可能經常會遇到在DB2中如何實現Oracle的某些功能﹐
在此我簡單地總結一下﹐實現某一功能可能會有很多種方法﹐在此就沒有全部列出﹐
歡迎大家繼續﹐以便和大家共享﹐共同探討﹐共同近步﹗(以下主要以Oracle
8I,9I和DB2 7.X為例)。
1.如何查看數据庫的版本的Oracle和DB2的寫法
  Oracle 可以這樣實現﹕
  SQL> connect system/manager124@test;
  已連線.
  SQL> select * from v$version;

  BANNER
  ----------------------------------------------------------------
  Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
  PL/SQL Release 9.2.0.1.0 - Production
  CORE    9.2.0.1.0       Production
  TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
  NLSRTL Version 9.2.0.1.0 - Production

  DB2 可以這樣實現﹕
  在命令窗口執行 db2level
  D: QLLIB\BIN>db2level
  DB210851 Instance "DB2" uses DB2 code release "SQL07020" with level identifier
  "03010105" and informational tokens "DB2 v7.1.0.40","n010415" and "WR21254".
2.如何快速清空一個大表的Oracle和DB2的寫法
  Oracle 可以這樣實現﹕
  SQL>truncate table table_name;
  DB2 可以這樣實現﹕
  alter table table_name active not logged initially with empty table;
3.如何查看表空間的使用狀況的Oracle和DB2的寫法
  Oracle 可以這樣實現﹕
  SELECT tablespace_name, max_m, count_blocks free_blk_cnt,       sum_free_m,to_char(100*sum_free_m/sum_m, '99.99') || '%' AS

pct_free
  FROM ( SELECT tablespace_name,sum(bytes)/1024/1024 AS sum_m FROM dba_data_files GROUP BY   tablespace_name),
  ( SELECT tablespace_name AS fs_ts_name, max(bytes)/1024/1024 AS max_m, count(blocks) AS    count_blocks,

sum(bytes/1024/1024) AS sum_free_m FROM dba_free_space GROUP BY       tablespace_name )
  WHERE tablespace_name = fs_ts_name
  DB2 可以這樣實現﹕
  list tablespace containers for 你的表空間號 show detail;
4.如何從一時間點取出日期的各部分的常用的Oracle和DB2的寫法
  Oracle 可以這樣實現﹕
  1>.取時間點的年份的寫法:
     SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL;
  2>.取時間點的月份的寫法:
     SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL;
  3>.取時間點的日的寫法:
     SELECT TO_CHAR(SYSDATE,'DD') FROM DUAL;
  4>.取時間點的時的寫法:
     SELECT TO_CHAR(SYSDATE,'HH24') FROM DUAL;
  5>.取時間點的分的寫法:
     SELECT TO_CHAR(SYSDATE,'MI') FROM DUAL;
  6>.取時間點的秒的寫法:
     SELECT TO_CHAR(SYSDATE,'SS') FROM DUAL;
  7>.取時間點的毫秒的寫法:(9I以上)
     select SUBSTR(systimestamp,20,6) from dual;
  8>.取時間點的日期的寫法:
     SELECT TRUNC(SYSDATE) FROM DUAL;
  9>.取時間點的時間的寫法:
     SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') FROM DUAL;
  10>.日期,時間形態變為字符形態
     SELECT TO_CHAR(SYSDATE) FROM DUAL;
  11>.將字符串轉換成日期或時間形態:
     SELECT TO_DATE('2003/08/01') FROM DUAL;
  12>.返回參數的星期几的寫法:
     SELECT TO_CHAR(SYSDATE,'D') FROM DUAL;
  13>.返回參數一年中的第几天的寫法:
     SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;
  14>.返回午夜和參數中指定的時間值之間的秒數的寫法:
     SELECT TO_CHAR(SYSDATE,'SSSSS') FROM DUAL;
  15>.返回參數中一年的第几周的寫法:
     SELECT TO_CHAR(SYSDATE,'WW') FROM DUAL;
  
  DB2 可以這樣實現﹕
  1>.取時間點的年份的寫法:
     SELECT YEAR(current timestamp)  FROM SYSIBM.SYSDUMMY1;
  2>.取時間點的月份的寫法:
     SELECT MONTH(current timestamp)  FROM SYSIBM.SYSDUMMY1;
  3>.取時間點的日的寫法:
     SELECT DAY(current timestamp)  FROM SYSIBM.SYSDUMMY1;
  4>.取時間點的時的寫法:
     SELECT HOUR(current timestamp)  FROM SYSIBM.SYSDUMMY1;
  5>.取時間點的分的寫法:
     SELECT MINUTE(current timestamp)  FROM SYSIBM.SYSDUMMY1;
  6>.取時間點的秒的寫法:
     SELECT SECOND(current timestamp)  FROM SYSIBM.SYSDUMMY1;
  7>.取時間點的毫秒的寫法:
     SELECT MICROSECOND(current timestamp)  FROM SYSIBM.SYSDUMMY1;
  8>.取時間點的日期的寫法:
     SELECT DATE(current timestamp)  FROM SYSIBM.SYSDUMMY1;
  9>.取時間點的時間的寫法:
     SELECT TIME(current timestamp)  FROM SYSIBM.SYSDUMMY1;
  10>.日期,時間形態變為字符形態:
     SELECT char(current date) FROM SYSIBM.SYSDUMMY1;
     SELECT char(current time) FROM SYSIBM.SYSDUMMY1;
     SELECT char(current date+12 hours) FROM SYSIBM.SYSDUMMY1;
  11>.將字符串轉換成日期或時間形態:
     SELECT TIMESTAMP('2002-10-20-12.00.00.000000') FROM SYSIBM.SYSDUMMY1;
     SELECT TIMESTAMP('2002-10-20 12:00:00') FROM SYSIBM.SYSDUMMY1;
     SELECT DATE('2002-10-20') FROM SYSIBM.SYSDUMMY1;
     SELECT DATE('10/20/2002') FROM SYSIBM.SYSDUMMY1;
     SELECT TIME('12:00:00') FROM SYSIBM.SYSDUMMY1;
     SELECT TIME ('12.00.00') FROM SYSIBM.SYSDUMMY1;
  12>.返回參數的星期几的寫法:
     SELECT DAYNAME(current timestamp)  FROM SYSIBM.SYSDUMMY1;
     SELECT DAYOFWEEK(current timestamp)  FROM SYSIBM.SYSDUMMY1;
     SELECT DAYOFWEEK_ISO(current timestamp)  FROM SYSIBM.SYSDUMMY1;
  13>.返回參數一年中的第几天的寫法:
     SELECT DAYOFYEAR(current timestamp)  FROM SYSIBM.SYSDUMMY1;
  14>.返回午夜和參數中指定的時間值之間的秒數的寫法:
     SELECT MIDNIGHT_SECONDS(current timestamp) FORM SYSIBM.SYSDUMMY1;
  15>.返回參數中一年的第几周的寫法:
     SELECT WEEK(current timestamp) FORM SYSIBM.SYSDUMMY1;

  待續...

 

 

时间: 2024-08-02 22:16:54

在DB2中如何實現Oracle的相關功能(二)的相关文章

在DB2中如何實現Oracle的相關功能(三)

oracle 在DB2中如何實現Oracle的相關功能(三)作者﹕CCBZZP    在現實的應用中大家可能經常會遇到在DB2中如何實現Oracle的某些功能﹐在此我簡單地總結一下﹐實現某一功能可能會有很多種方法﹐在此就沒有全部列出﹐歡迎大家繼續﹐以便和大家共享﹐共同探討﹐共同近步﹗(以下主要以Oracle8I,9I和DB2 7.X為例).1.如何查有多少個數据庫實例的Oracle和DB2的寫法  Oracle 可以這樣實現﹕  SQL>SELECT * FROM V$INSTANCE;  DB

在DB2中如何實現Oracle的相關功能(一)

oracle 在DB2中如何實現Oracle的相關功能(一)作者﹕CCBZZP    在現實的應用中大家可能經常會遇到在DB2中如何實現Oracle的某些功能﹐在此我簡單地總結一下﹐實現某一功能可能會有很多種方法﹐在此就沒有全部列出﹐歡迎大家繼續﹐以便和大家共享﹐共同探討﹐共同近步﹗(以下主要以Oracle8I和DB2 7.X為例). 1.如何取一表前n筆記錄的Oracle和DB2的寫法  Oracle 可以這樣實現﹕   Select * from user.bsempms where row

在DB2中如何實現Oracle的相關功能(四)

oracle  在DB2中如何實現Oracle的相關功能(四)作者﹕CCBZZP        在現實的應用中大家可能經常會遇到在DB2中如何實現Oracle的某些功能﹐在此我簡單地總結一下﹐實現某一功能可能會有很多種方法﹐在此就沒有全部列出﹐歡迎大家繼續﹐以便和大家共享﹐共同探討﹐共同近步﹗(以下主要以Oracle8I,9I和DB2 7.X為例).1.如何實現分頁顯示的Oracle和DB2的寫法  Oracle 可以這樣實現﹕  SQL>select rownum,* from BSEMPMS

如何在FOXPRO的REPORT中實現列印條碼功能

如何在FOXPRO的REPORT中實現列印條碼功能 作者﹕CCBZZP       以下是我以前做的一個在FOXPRO的FORM調用REPORT中實現列印條碼功能(主要是39條碼),現在將代碼共享給大家,希望能給各位帶來幫助! 1. 首先將字体文件C39HDW3.TTF拷貝到你的電腦的FONTS目錄下.2. 在窗体FORM中新增加兩個程序BC_CODE39和BC_OCODE393. 程序BC_CODE39的內容是:  Parameters m  rtnp = THISFORM.BC_OCode3

VB中類模塊實現與C++中類實現的比較(1)

c++ VB6.0從本質上說不是一種純面向對象的語言,而是一種基於對象的語言.換句話就是面向對象的簡化,去除了一些對於初學者可能理解比較困難的面向對象的語言元素(例如繼承,重載...),使原來習慣使用面向過程語言編程的程序員開發起來更加得心應手. 但正是由於對Basic的使用慣性,導致在用VB6.0開發軟件時忽略了它對基於對象的支持.這個很像我們以前習慣用C來寫程序,一旦換成了C++,寫出來的程序還是函數調用函數,一點面向對象的思想都沒有,只不過是多利用了一些C++的關鍵字而已.其實面向對象方法

VMware中linux环境下oracle安装图文教程(二)ORACLE 10.2.05版本的升级补丁安装_oracle

首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入Disk1.然后执行安装: $ ./runInstaller 执行脚本 # /u01/app/oracle/10.2.0/db_1/root.shRunning Oracle 10g root.sh script...The following environment variables are set as:    ORACLE_OWNER= oracle   

如何在ORACLE中實現人民幣大寫的轉換

oracle 如何在ORACLE中實現人民幣大寫的轉換 作者:   CCBZZP        ORACLE在實現報表的功能是很強大的, 特別在現實的應用中會經常用到人民幣大小寫轉換的問題, 在此我寫個函數向大家簡單介紹一下, 希望和大家一起探討, 以便共同進步! 共同發展! 1. 函數DX_MONEY() CREATE FUNCTION  DX_MONEY(  MONEY IN NUMBER)RETURN VARCHAR2 AS V_MONEY VARCHAR2(150);RV_MONEY0

如何在FOXPRO中實現人民幣大寫的轉換

FOXPRO中人民幣大寫轉換的實現 作者:   CCBZZP        FOXPRO在實現報表的功能是很強大的, 特別在現實的應用中會經常用到人民幣 大小寫轉換的問題, 在此我簡單介紹一下, 希望和大家一起探討, 以便共同進步! 共同 發展! 假如 變量 MONEY 是我們要轉換的參數,我們在程序(*.PRG)中這樣寫:   PARA MONEYIF MONEY>999999999.99    RETURN ('<數值大于拾億! >')ENDIFIF ABS(MONEY)<1 

如何實現在網頁中輸入的數據保存到數據庫中

问题描述 在vs2005中我創建了一個頁面,上面有幾個文本框,一個綁定了數據庫的gridview控件,現想實現把輸入在文本框中的內容顯示在gridview數據表格中.請各位高手指點如何用C#代碼實現(可增加控件) 解决方案 解决方案二:C#高手一般不来VC版面.解决方案三:HTML代码<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits=&q