DB2常用傻瓜問題1000問

chinayuan發表於2020-04-05
            DB2常用傻瓜問題1000問

    大家在應用DB2的時候可能會遇到一些看似簡單的問題,特別對新手來說,我在此簡單的
總結一下,釋出給大家,希望對大家能有所幫助,同時也歡迎大家一起探討,共同發展,共同進步!
以下主要以DB2 7.X為基礎的. 以下的字元為小寫.

db2 命令語法:
db2 [option ...] [db2-command | sql-statement |[? [phrase | message | sqlstate | class-code]]]
option: -a, -c, -d, -e{c|s}, -finfile, -i, -lhistfile, -m, -n, -o, -p, -q, -rreport, -s, -t, -td;, -v, -w, -x, -zoutputfile.

for example:
db2 -a                                                 ---> db2 [options]
db2 list tables for all                              ---> db2 [db2-command]
db2 list tables for schema db2admin         ---> db2 [db2-command]
db2 list tables                                     
---> db2 [db2-command]
db2 "select * from tablename"                ---> db2 [sql-statement ]
db2 ? options                                     ---> db2 ? [phrase ]
db2 ? SQL30081N                              ---->db2 ? [message]
db2 ? DB21034E
db2 ? 42622                                       --->db2 ? [sqlstate]
db2 ? 00                                             --->db2 ? [class-code]

    本文對DB2高手來說是不用看的.

1. DB2產品的級別有那些?
   企業版的 NTERPRISE EDITION
   工作組版 WORKGROUP EDITION
   企業擴充套件版 ENTERPRISE EXTENDED EDITION
   個人版的 PERSONAL EDITION
   衛星版的 SATELLITE EDITION
   微型版的 EVERYPLACE

2. 可以連線到DB2資料庫的產品有哪些?
   DB2客戶端
   DB2 CONNECT
   DB2 DATAPROPAGATOR
   DB2 NET.DATA
   DB2 DATAJOINER
   DB2 RELATIONAL CONNECT
   WEBSPHERE應用伺服器
   等

3. DB2支援的通訊協議有哪些?
   TCP/IP
   NETBIOS
   APPG
   IPX/SPX
   NAME PIPE
   等

4. DB2客戶端產品有哪些?
   DB2執行時間客戶端 DB2 RUNTIME CLIENT
   DB2管理客戶端 DB2 ADMINISTRATION CLIENT
   DB2應用程式開發客戶端 DB2 APPLICATION DEVELOPMENT CLIENT
   DB2瘦客戶端 DB2 THIN CLIENT

5. 一個資料庫是否可以安裝在多個資料庫伺服器上?
   可以

6. 從哪個版本後儲存過程可以用SQL語句來建立?
   7.1版後

7. DB2提供哪些關係擴充套件器?
   文字擴充套件器 TEXT EXTENDER
   圖象擴充套件器 IMAGE EXTENDER
   音訊擴充套件器 AUDIO EXTENDER
   視訊擴充套件器 VIDEO EXTENDER
   空間資料擴充套件器 SPATIAL EXTENDER
   XML擴充套件器 XML EXTENDER
   網路搜尋擴充套件器 NET.SEARCH EXTENDER

8. WINDOWS和OS/2環境下的DB2安裝目錄結構?
   用SETUP.EXE來安裝

   /SQLLIB 安裝的根目錄,包括README檔案
   /SQLLIB/ADSM 包含ADSTAR分散式儲存管理器檔案
   /SQLLIB/BIN  包含DB2工具的可執行檔案
   /SQLLIB/BND  包含DB2工具的繫結檔案
   /SQLLIB/CC  包含執行控制中心所需的檔案
   /SQLLIB/CFG 包含預設的系統配置檔案
   /SQLLIB/CONV 包含內碼表轉換表檔案
   /SQLLIB/DB2  預設的例項目錄
   /SQLLIB/DB2DAS00 預設的DB2管理伺服器目錄
   /SQLLIB/DOC  包含DB2聯機手冊
   /SQLLIB/FUNCTION 預設的使用者自定義函式目錄
   /SQLLIB/FUNCTION/UNFENCED 預設的非隔離使用者自定義函授目錄
   /SQLLIB/HELP 聯機幫助檔案
   /SQLLIB/JAVA  DB2所需的JAVA類庫
           JAVA12  包含JDK1.2的支援程式
   /SQLLIB/MISC  包含HTML搜尋伺服器檔案
   /SQLLIB/MSG/PRIME  包含資訊檔案
   /SQLLIB/QP   包含QUERY PATROLLER的客戶端檔案
   /SQLLIB/SAMPLES 包含樣例程式和樣例指令碼
   /SQLLIB/SPMLOG 包含DB2同步點管理器日誌檔案
   /SQLLIB/THNSETUP  包含瘦客戶端安裝檔案

9. UNIX和LINUX環境下的DB2安裝目錄結構?
   用DB2SETUP.EXE來安裝
   安裝的根目錄下還將建立以下目錄:

   README 安裝的根目錄,包括README檔案
   ADM  包含系統管理工具檔案
   ADSM 包含ADSTAR分散式儲存管理器檔案
   BIN  包含DB2工具的二進位制可執行檔案
   BND  包含DB2工具的繫結檔案
   CC  包含執行控制中心所需的檔案
   CFG 包含預設的系統配置檔案
   CONV 包含內碼表轉換表檔案
   DOC  包含DB2聯機手冊
   FUNCTION 預設的使用者自定義函式目錄
   FUNCTION/UNFENCED 預設的非隔離使用者自定義函授目錄
   INSTALL  包含安裝程式
   INSTANCE 包含例項指令碼
   JAVA  DB2所需的JAVA類庫
   LIB   DB2庫檔案
   MAP  包含DB2 CONNECT使用的對映檔案
   MISC  包含HTML搜尋伺服器檔案
   SAMPLES 包含樣例程式和樣例指令碼
   MSG/$L  包含DB2資訊檔案
 

10. AIX下用哪個命令來安裝DB2?
    INSTALLP命令

11. 同一作業系統下可以安裝多個DB2 資料庫?
    可以的

12. 如何停止例項?
    DB2STOP
    DB2STOP FORCE (強制停止)

13. 如何啟動例項?
    DB2START

14. 如何修改註冊項的值?
    DB2SET可以修改
    如:
    設定當前例項的一個引數
    DB2SET PARAMETER=VALUE

    設定一個全域性級的引數
    DB2SET PARAMETER=VALUE  -G  (小寫)

    檢視能在配置檔案登錄檔中設定的所有變數的列表
    DB2SET -LR (小寫)

15. 如何在CLP執行作業系統的命令?
    在命令前加" ! "作為字首
    DB2=> !DIR C:/

16. 在CLP中命令過長怎麼辦?
    用 " / " 作為續行符號

17. 如何獲得DB2的命令的語法相關資訊?
    DB2 ?   顯示所有DB2命令
    DB2 ? COMMAND 顯示命令資訊
    DB2 ? SQLnnnn 顯示這個SQLCODE的解釋資訊
    DB2 ? DB2nnnn 顯示這個DB2錯誤的解釋資訊

18. 如何檢視當前CLP的設定?
    DB2=>LIST COMAND OPTIONS

19. 如何更新當前CLP會話的特定項設定?
    DB2 UPDATE COMMAND OPTIONS USING OPTIONS ...

20. COMMAND WINDOWS可以通過哪個命令呼叫?
    DB2CMD命令

21. 管理伺服器的預設名為?
    UNIX下為DB2AS
    WINDOWS下為DB2DAS00

22. 常用管理DB2伺服器例項的命令?
    DB2ADMIN START 啟動DB2管理伺服器例項
    DB2ADMIN STOP  停止DB2管理伺服器例項
    DASICRT  UNIX下建立DB2管理伺服器例項
    DASIDROP UNIX下刪除DB2管理伺服器例項
    DB2ADMIN CREATE WINDOWS OR OS/2下建立DB2管理伺服器例項
    DB2ADMIN DROP  WINDOWS OR OS/2下刪除DB2管理伺服器例項
    DB2 GET ADMIN CFG  顯示DB2管理伺服器的配置引數
    DB2 UPDATE ADMIN CFG  修改DB2管理伺服器的配置引數
    DB2 RESET ADMIN CFG  將DB2管理伺服器的配置引數設為預設值

23. DB2目錄分為哪幾種?
    系統資料庫目錄
    本地資料庫目錄
    節點目錄
    DCS目錄
    管理節點目錄

24. 如何檢視系統資料庫目錄?
    LIST DB DIRECTORY

25. 如何檢視資料庫伺服器目錄?
    LIST NODE DIRECTORY

26. DB2例項的伺服器的預設埠是?
    50000
    伺服器名稱為DB2CDB2

27. DB2 UDB伺服器端的認證型別有?
    SERVER
    SERVER_ENCRYPT
    CLIENT
    DCE
    DCE_SERVER_ENCRYPT
    KERBEROS
    KRB_SERVER_ENCRYPT

28. DB2客戶端的認證型別有?
    SERVER
    SERVER_ENCRYPT
    DCS
    DCS_ENCRYPT
    CLIENT
    DCE

29. DB2中有哪幾種型別的許可權?
    SYSADM 系統管理許可權
    SYSCTRL 系統控制許可權
    SYSMAINT 系統維護許可權
    DBADM 資料庫管理許可權
    LOAD 對錶進行LOAD操作的許可權

30. 不能通過GRANT授權的許可權有哪種?
    SYSAM
    SYSCTRL
    SYSMAINT
    要更該上述許可權必須修改資料庫管理器配置引數

31. 表的型別有哪些?
    永久表(基表)
    臨時表(說明表)
    臨時表(派生表)

32. 如何知道一個使用者有多少表?
    SELECT * FROM SYSIBM.SYSTABLES WHERE CREATOR='USER'

33. 如何知道使用者下的函式?
    select * from IWH.USERFUNCTION
    select * from  sysibm.SYSFUNCTIONS

34. 如何知道使用者下的VIEW 數?
    select * from  sysibm.sysviews WHERE CREATOR='USER'

35. 如何知道當前DB2的版本?
    select * from  sysibm.sysversions
    db2level

36. 如何知道使用者下的TRIGGER 數?
    select * from  sysibm.SYSTRIGGERS WHERE SCHEMA='USER'

37. 如何知道TABLESPACE的狀況?
    select * from  sysibm.SYSTABLESPACES

38. 如何知道SEQUENCE的狀況?
    select * from  sysibm.SYSSEQUENCES

39. 如何知道SCHEMA的狀況?
    select * from  sysibm.SYSSCHEMATA
    db2 "select name from sysibm.sysschemata"  查詢當前資料庫中所有的schema

40. 如何知道INDEX的狀況?
    select * from  sysibm.SYSINDEXES

41. 如何知道表的欄位的狀況?
    select * from  sysibm.SYSCOLUMNS WHERE TBNAME='AAAA'
    decribe table <tablename>

42. 如何知道DB2的資料型別?
    select * from  sysibm.SYSDATATYPES

43. 如何知道BUFFERPOOLS狀況?
    select * from  sysibm.SYSBUFFERPOOLS

44. DB2表的欄位的修改限制?
    只能修改VARCHAR2型別的並且只能增加不能減少.

45. 如何檢視錶的結構?
    DESCRIBLE TABLE TABLE_NAME
    OR
    DESCRIBLE SELECT * FROM SCHEMA.TABLE_NAME

46. 如何快速清除一個大表?
    ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTY TABLE

47. 如何檢視資料庫的包?
    select * from  sysCAT.PACKAGES

48. 如何檢視資料庫的儲存過程?
    SELECT * FROM SYSCAT.PROCEDURES

49. 如何檢視錶的約束?
    SELECT * FROM SYSCAT.CHECKS WHERE TABNAME='AAAA'

50. 如何檢視錶的引用完整約束?
    SELECT * FROM SYSCAT.REFERENCES  WHERE TABNAME='AAAA'

51. 安裝DB2預設的事例名稱是?
    在WINDOWS或OS/2中預設的是DB2
    在LINUX或UNIX環境下預設的是DB2INST1

52. 安裝後的預設帳戶是?
    在WINDOWS或OS/2中預設的是DB2ADMIN
    在LINUX或UNIX環境下預設的是DB2AS

53. 事例的型別有哪些?
    CLIENT(客戶)
    STANDALONE(獨立的)
    SATELLITE(衛星)
    EE DB2
    EEE

54. 如何建立事例?
    DB2ICRT INSTNAME <...PARAMETERS>

55. 如何列出系統上的所有可用事例?
    DB2ILIST

56. 如何知道當前對話用的是哪個事例?
    GET INSTANCE

57. 如何更新事例的配置?
    DB2IUPDT <INST NAME><PARAMETER OPTIONS...>

58. 如何刪除事例?
    DB2IDROP INSTANCE_NAME
    具體步驟如下:
    停止事例上所有應用程式
    在所有開啟的命令列上執行DB2 TERMINATE
    執行DB2STOP
    備份DB2INSTPROF註冊變數指出的事例目錄
    退出事例所有登陸者
    使用DB2IDROP
    也可以刪除ID

59. 如何列出本地系統上有許可資訊的所有產品?
    DB2LICM  -L

60. 如何增加一產品許可?
    DB2LICM -A FILENAME

61. 如何刪除一個產品的許可?
    DB2LICM -R PRODUCT PASSWORD

62. 如何更新已購買的許可數量?
    DB2LICM -U <PRODUCT PASSWORD> <NUMBER OF USERS>

63. 如何強制只使用已經購買的數量?
    DB2LICM -E HARD

64. 如何更新系統上所使用的許可政策型別?
    DB2LICM -P <PRODUCT PASSWORD> REGISTERED CONCURRENT

65. 如何更新系統上的處理器的數量?
    DB2LICM -N <PRODUCT PASSWORD> <NUMBER OF PROCESSORS>

66. 如何查詢許可檔案記錄的版本資訊?
    DB2LICM -V

67. 如何查詢DB2LICM的幫助資訊?
    DB2LICM -H

68. 一個資料庫至少包括哪些表空間?
    一個目錄表空間
    一個或多個使用者表空間
    一個或多個臨時表空間
     
69. 根據資料與儲存空間之間移動的控制方式不同,分哪兩種表空間?
    系統管理的空間(SMS)
    資料庫管理的空間(DMS)

70. 如何列出系統資料庫目錄的內容?
    LIST  DATABASE  DIRECTORY

71. CREATE DATABASE 是SQL命令嗎?
    不是, 是系統命令

72. 如何檢視資料庫ABC的配置檔案的內容?
    GET DATABASE CONFIGURATION FOR ABC

73. 如何將資料庫ABC的引數設定為預設數值?
    RESET DATABASE CONFIGURATION FOR ABC

74. 如何修改資料庫ABC配置引數數值?
    UPDATE DATABASE CONFIGURATION FOR ABC
    USING <PARAMETER NAME> <NEW VALUE>

75. 如何重新啟動資料庫?
    RESTART DATABASE DATABASE_NAME

76. 如何啟用資料庫?
    ACTIVATE DATABASE DATABASE_NAME

77. 如何停止資料庫?
  DEACTIVATE DATABASE DATABASE_NAME 

78. 如何刪除資料庫?
    DROP DATABASE DATABASE_NAME

79. 如何建立模式?
    CREATE SCHEMA SCHEMA_NAME

80. 如何設定模式?
    SET SCHEMA=SCHEMA_NAME

81. 表的型別有哪些?
    基本表
    結果表
    概要表
    型別表
    子型別
    子表
    宣告的臨時表
    系統臨時表

82. 如何定義序列?
    CREATE SEQUENCE ORDERSEQ START WITH 1 INCREMENT BY 1 NOMAXVALUE NOCYCLE CACHE 24

83. 如何將表置於檢查掛起狀態?
    SET INTEGRITY TABLE_NAME OFF

84. 如何獲得表的排斥鎖?
    LOCK TABLE TABLE_NAME IN EXCLUSIVE MODE

85. 如何把表調整為沒有檢查資料的線上狀態?
    SET INTEGRITY FOR TABLE_NAME ALL IMMEDIATE UNCHECKED

86. 如何解除表的鎖定?
    COMMIT

87. 如何關閉表的日誌?
    ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INIALLY

88. 如何刪除表?
    DROP SCHEMA.TABLE_NAME

89. 如何重新命名錶?
    RENAME TABLE_OLD TO TABLE_NEW

90. 如何取當前時間?
    SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1

91. 如何建立DB2的概要表?
  DB2的概要表功能類似於ORACLE的實體化檢視!
  語法為:
  CREATE SUMMARY TABLE TABLE_NAME AS (FULLSELECT) ...
  例如:
  定義一個可以重新整理的概要表:
  CREATE SUMMARY TABLE TABLE_NAME AS (SELECT * FROM TABLE_NAME1 WHERE COL1='AAA')
  DATA INITIALLY DEFERRED  REFRESH DEFERRED
  其中DATA INITIALLY DEFERRED規定不能將資料作為CREATE TABLE語句的一部分插入表中.
  REFRESH DEFERRED規定表中的資料可以在任何使用了REFRESH TABLE語句的時候獲得重新整理!

92. 如何重新整理概要表?
  REFRESH TABLE SUM_TABLE
  其中SUM_TABLE為概要表.

93. 如何修改概要表?
  ALTER TABLE SUM_TABLE ...

94. 如何建立臨時表?
  語法:
  DECLARE GLOBAL TEMPORARY TABLE TABLE_NAME
  AS (FULLSELECT) DEFINITION ONLY
  EXCLUDING IDENTITY COLUMN ATTRIBUTES
  ON COMMIT DELETE ROWS
  NOT LOGGED
  第一行規定臨時表的名稱.
  第二行規定臨時表的列的定義.
  第三行規定不是從源結果表定義中復制的恆等列.
  第四行規定如果沒有開啟WITH GOLD游標,將會刪除表的所有行.
  第五行規定不對表的改變進行記錄.
  例如:
  DECLARE GLOBAL TEMPORARY TABLE DEC_BSEMPMS
  AS (SELECT * FROM BSEMPMS) DEFINITION ONLY
  EXCLUDING IDENTITY COLUMN ATTRIBUTES
  ON COMMIT DELETE ROWS
  NOT LOGGED

95. 檢視的管理?
  如何建立檢視:
  CREATE VIEW VIEW_NAME AS SELECT * FROM TABLE_NAME WHERE ...
  刪除檢視:
  DROP VIEW VIEW_NAME

96. 如何知道檢視定義的內容?
  SELECT * FROM SYSCAT.VIEWS中的TEXT列中.

97. 如何建立別名?
  CREATE ALIAS ALIAS_NAME FOR PRO_NAME
  後面的PRO_NAME可以是TABLE,VIEW,ALIAS,NICKNAME等.

98. 如何建立序列?
  例如:
  CREATE SEQUENCE SEQUENCE_NAME
  START WITH START_NUMBER
  INCREMENT BY VALUE1
  NOMAXVALUE
  NOCYCLE
  CACHE MAXIMUM NUMBER OF SEQUENCE VALUES
  第一行規定序列的名稱.
  第二行規定序列的開始數值.
  第三行規定每次新增的幅度.
  第四行規定沒有最大數值限制.
  第五行規定最大數值限制.

99. 如何更改序列?
  ALTER SEQUENCE SEQUENCE_NAME ...
  可以修改的引數
  START WITH 的 START_NUMBER
  INCREMENT 的 VALUE1
  NOMAXVALUE的數值
  NOCYCLE屬性
  MAXIMUM NUMBER OF SEQUENCE VALUES 最大數值

100. 如何刪除序列?
  DROP SEQUENCE SEQUENCE_NAME

101. DB2支援匯入(IMPORT)的檔案格式有?
   有: DEL,ASC,IXF,WSF等

102. DB2支援匯出(EXPORT)的檔案格式有?
   有: DEL,IXF,WSF等.
   不支援ASC格式.

103. DB2支援載入(LOAD)的檔案格式有?
   有: DEL,ASC,IXF等.
   不支援WSF格式.

104. DB2支援DB2MOVE的檔案格式有?
   有: IXF等.
   不支援ASC,DEL,WSF格式.

105. DB2資料庫監控的兩個組成部分?
   快照監控(SNAPSHOT MONITOR)可返回特定時間點的資料庫活動的快照.
   事件監控(EVENT MONITOR)記錄事件發生的資料.
 
106. 系統監控的資料元素型別?
   計數器(COUNTER)記錄活動發生的次數.
   測量(GAUGE)測量條目的當前值.
   水線(WATER MARK)從監控來元素達到的最大或最小數值.
   資訊(INFORMATION)監控活動的參照型別細節.
   時間點(TIMESTAMP)活動發生的日期時間.
   時間(TIME)返回一個活動花費的時間.
 
107. 如何知道監控堆所需的頁的數量?
   (NUMBER OF MONITORING APPLICATIONS+1)*(NUMBER OF DATABASES*(800+(NUMBER OF TABLES
     ACCESSED*20)+((NUMBER OF APPLICATIONS CONNECTED+1)*(200+(NUMBER OF TABLE
      SPACES*100)))))/4096
   其大小受引數MON_HEAD_SZ控制. 

108. 如何建立事件監控器?
   CREATE EVENT MONITOR TABLEMON FOR TABLES WRITE TO FILE 'D:/TEMP'

109. 如何啟用事件監控器?
   SET EVENT MONITOR TABLEMON STATE 1

110. 如何停止事件監控器?
   SET EVENT MONITOR TABLEMON STATE 0

111. 如何查詢監控器的狀態?
   SELECT EVMONNAME,EVENT_MON_STATE(EVMONNAME) FROM SYSCAT.EVENTMONITORS

112. 如何刪除事件監控器?
   DROP EVENT MONITOR TABLEMON

113. UNIX和WINDOWS上建立管道事件監控器(PIPE意EVNT見MONITOR)的不同?
   第一步: 定義事件監控器
   UNIX:
   CONNECT TO SAMPLE
   CREATE EVENT MONITOR STMB2 FOR STATEMENTS WRITE TO PIPE '/TMP/EVPIPE1'
   WINDOWS:
   CONNECT TO SAMPLE
   CREATE EVENT MONITOR STMB2 FOR STATEMENTS WRITE TO PIPE '//./TMP/EVPIPE1'

   第二步: 建立命名管道
   UNIX:
   可以使用MKFIFO()函式或者MKFIFO命令.
   WINDOWS:
   可以使用CREATENAMEDPIPE()函式,管道名稱與CREATE EVENT MONITOR規定名稱相同.

   第三步: 開啟命名管道
   UNIX:
   使用OPEN()函式.
   WINDOWS:
   使用CONNECT NAMEDPIPE()函式.
   也可以用DB2EVMON命令,如:
   DB2EVMON -DB SAMPLE -EVM STMB2

   第四步: 啟用命名管道事件監控器
   除非自動啟用命名管道事件監控器,否則
   SET EVENT MONITOR STMB2 STATE 1

   第五步: 從命名管道讀取資料
   UNIX:
   可以使用READ()函式.
   WINDOWS:
   可以使用READFILE()函式.

   第六步: 停止事件監控器
   SET EVENT MONITOR STMB2 STATE 0

   第七步: 關閉命名管道
   UNIX:
   可以使用CLOSE()函式.
   WINDOWS:
   可以使用DISCONNECTNAMEDPIPE()函式.

   第八步: 刪除命名管道
   UNIX:
   可以使用UNLINK()函式.
   WINDOWS:
   可以使用CLOSEHANDLE()函式.

114. DB2的SQL語句的類別?
   DCL: 資料控制語言,提供對資料庫物件的訪問許可權.
   DDL: 資料定義語言,建立,修改,刪除資料庫物件的.
   DML: 資料操縱語言,用來插入,更新,刪除資料的.

115. DCL的許可權有哪些?
   CONTROL許可權: 如果使用者建立一個物件,則改使用者能完全訪問該物件.
   GRANT 語句將許可權授予給使用者.
   REVOKE 語句撤銷一個使用者的許可權.

116. DDL有哪些?
   CREATE
   DECLARE
   ALTER
   DROP
   等

117. DML有哪些?
   INSERT
   SELECT
   UPDATE
   DELETE
   等

118. DB2有沒有布林型別?
   沒有

119. 如何查詢DB2的內建函式?
   自帶文件ADMINISTION-->SQL REFERENCE-->FUNCTIONS內

120. 如何執行DB2的指令碼檔案?
   DB2 -VTF FILENAME

121. DB2中象ORACLE的ROWNUM()是?
   ROW_NUMBER() OVER()

122. DB2如何得到錯誤程式碼的說明?
   DB2 ? SQLCODE

123. DB2中的VARCHAR轉換為INTEGER的函式為?
    CAST()

124. DB2中的INTEGER轉換為VARCHAR的函式為?
    CHAR()

125. DB2中的VARCHAR轉換為DATE的函式為?
    DATE()

126. DB2中的DATE轉換為VARCHAR的函式為?
    CHAR()

127. DB2中的TRIGGER能否修改?
    不能,只能刪除重建

128. WINDOWS下如何知道DB2的埠號?
    /WINNT/SYSTEM32/DRIVERS/ETC/SERVICES

129. DB2如何執行儲存過程?
    可以  DB2 CALL PROCEDURE_NAME

130. 如何進入DB2的DOS命令方式?
    DB2CMD

131. 如何得到DB2的程式號?
    DB2 LIST APPLICATIONS

132. 如何殺DB2的程式?
    FORCE APPLICATION(ID)

133. A使用者安裝DB2後,如何用B使用者啟動DATABASE?
    在B使用者下的.PROFILE中加上
    ./HOME/DB2INST/SQLLIB/DB2PROFILE

134. DB2中類似ORACLE的快照是?
     SUMMARY TABLE

DB2函式

135. AVG()
    返回一組數值的平均值.
    SELECT AVG(SALARY) FROM BSEMPMS;

136. CORR(),CORRELATION()
    返回一對數值的關繫系數.
    SELECT CORRELATION(SALARY,BONUS) FROM BSEMPMS;

137. COUNT()
    返回一組行或值的個數.
    SELECT COUNT(*) FROM BSEMPMS;

138. COVAR(),COVARIANCE()
    返回一對數值的協方差.
    SELECT COVAR(SALARY,BONUS) FROM BSEMPMS;

139. MAX()
    返回一組數值中的最大值.
    SELECT MAX(SALARY) FROM BSEMPMS;

140. MIN()
    返回一組數值中的最小值.
    SELECT MIN(SALARY) FROM BSEMPMS;

141. STDDEV()
    返回一組數值的標準偏差.
    SELECT STDDEV(SALARY) FROM BSEMPMS;

142. SUM()
    返回一組資料的和.
    SELECT SUM(SALARY) FROM BSEMPMS;

143. VAR(),VARIANCE()
    返回一組數值的方差.
    SELECT VARIANCE(SALARY) FROM BSEMPMS;

144. ABS(),ABSVAL()
    返回引數的絕對值.
    SELECT ABS(-3.4) FROM BSEMPMS;

145. ACOS()
    返回引數的反餘弦值.
    SELECT ACOS(0.9) FROM BSEMPMS;

146. ASCII()
    返回整數引數最左邊的字元的ASCII碼.
    SELECT ASCII('R') FROM BSEMPMS;

147. ASIN()
    返回用弧度表示的角度的引數的反正弦函式.
    SELECT ASIN(0.9) FROM BSEMPMS;

148. ATAN()
    返回引數的反正切值,該引數用弧度表示的角度的引數.
    SELECT ATAN(0.9) FROM BSEMPMS;
  
149. ATAN2()
    返回用弧度表示的角度的X和Y坐標的反正切值.
    SELECT ATAN2(0.5,0.9) FROM BSEMPMS;

150. BIGINT()
    返回整型常量中的數字或字串的64位整數表示.
    SELECT BIGINT(EMP_NO) FROM BSEMPMS;

151. CEILING()  OR  CEIL()
    返回比引數大或等於引數的最小的整數值.
    SELECT CEILING(3.56) FROM BSEMPMS;
    SELECT CEIL(4.67) FROM BSEMPMS;

152. CHAR()
    返回日期時間型,字串,整數,十進位制或雙精度浮點數的字串表示.
    SELECT CHAR(SALARY,',') FROM BSEMPMS;

153. CHR()
    返回具有由引數指定的ASCII碼的字元.
    SELECT CHAR(167) FROM BSEMPMS;

154. CONCAT()
    返回兩個字串的連線.
    SELECT CONCAT(EMP_NO,EMP_NAM) FROM BSEMPMS;

155. YEAR()
    返回數值的年部分.
    SELECT YEAR('2003/01/02') FROM BSEMPMS;

156. VARCHAR()
    返回字串,日期型,圖形串的可變長度的字串表示.
    SELECT VARCHAR(EMP_NAM,50) FROM BSEMPMS;

157. UCASE()  OR UPPER()
    返回字串的大寫.
    SELECT UCASE(EMP_NAM) FROM BSEMPMS;
    SELECT UPPER(EMP_NO) FROM BSEMPMS;

158. TRUNCATE()  OR  TRUNC()
    從表示式小數點右邊的位置開始截斷並返回該數值.
    SELECT TRUNCATE(345.6789,2) FROM BSEMPMS;

159. TIME()
    返回一個數值中的時間.
    SELECT TIME('2001-03-19.12.30.123456') FROM BSEMPMS;

160. SUBSTR(EXP1,EXP2)
    返回EXP1串自EXP2處開始的子串.
    SELECT SUBSTR('CDNJFDJFJD',5) FROM BSEMPMS;
    SELECT SUBSTR('CDNJFDJFJD',5,2) FROM BSEMPMS;
  
161. SQRT()
    返回該引數的平方根.
    SELECT SQRT(36) FROM BSEMPMS;

162. SPACE()
    返回由引數指定的長度,包含空格在內的字串.
    SELECT SPACE(10) FROM BSEMPMS;

163. SECOND()
    返回一個數值的秒部分.
    SELECT SECOND('18:34:32') FROM BSEMPMS;

164. RTRIM()
    刪除字串尾部的空格.
    SELECT RTRIM('COMMENT  ') FROM BSEMPMS;

165. ROUND(EXP1,EXP2)
    返回EXP1小數點右邊的第EXP2位置處開始的四捨五入值.
    SELECT ROUND(2345.6789,2) FROM BSEMPMS;

166. REPLACE(EXP1,EXP2,EXP3)
    用EXP3替代EXP1中所有的EXP2
    SELECT CHAR(REPLACE('ROMANDD','NDD','CCB'),10) FROM BSEMPMS;

167. REPEAT(EXP1,EXP2)
    返回EXP1重複EXP2次後的字串.
    SELECT CHAR(REPEAT('REPEAT',3),21) FROM BSEMPMS;

168. REAL()
    返回一個數值的單精度浮點數表示.
    SELECT REAL(10) FROM BSEMPMS;

169. RAND()
    返回0和1之間的隨機浮點數.
    SELECT RAND() FROM BSEMPMS;

170. POWER(EXP1,EXP2)
    返回EXP1的EXP2次冪.
    SELECT POWER(2,5) FROM BSEMPMS;

171. POSSTR(EXP1,EXP2)
    返回EXP2在EXP1中的位置.
    SELECT ('ABCDEFGH','D') FROM BSEMPMS;

172. NULLIF(EXP1,EXP2)
    如果EXP1=EXP2,則為NULL,否則為EXP1

173. NODENUMBER()
    返回行的分割槽號.
    SELECT NODENUMBER(EMP_NO) FROM BSEMPMS;

174. MONTH()
    返回一個數值的月部分.
    SELECT MONTH('2003/10/20') FROM BSEMPMS;

175. MOD(EXP1,EXP2)
    返回EXP1除以EXP2的餘數.
    SELECT MOD(20,8) FROM BSEMPMS;

176. MINUTE()
    返回一個數值的分鐘部分.
    SELECT MINUTE('18:34:23') FROM BSEMPMS;

177. LTRIM()
    刪除字串前面的空格.
    SELECT LTRIM(' CDDD') FROM BSEMPMS;

178. HOUR()
    返回一個數值的小時部分.
    SELECT HOUR('18:34:23') FROM BSEMPMS;

179. DOUBLE()
    如果引數是一個數字表示式,返回與其相對應的浮點數,如果引數是字串表示式,則返回該數的字串表示式.
    SELECT DOUBLE('5678') FROM BSEMPMS;

180. EXP()
    返回引數的指數函式.
    SELECT EXP(2) FROM BSEMPMS;

181. FLOAT()
    返回一個數的浮點表示.
    SELECT FLOAT(789) FROM BSEMPMS;

182. FLOOR()
    返回小於或等於引數的最大整數.
    SELECT FLOOR(88.93) FROM BSEMPMS;

183. HEX()
    返回一個表示為字串的值的16進製表示.
    SELECT HEX(16) FROM BSEMPMS;
 

   待續...

 

相關文章