1066
DB2 fKP<5k&G<?Y<9& 5<P< (OS/390 G) SQL rbq h 6 G SD88-7293-00 (Q865'SC26-9014-00)

DB2 fKP 5k G ?Y 9 5 P (OS/390 M G - COPLUS SQL V6(d8872930).pdfdb2 fkp

Embed Size (px)

Citation preview

  • IBM

    DB2 fKP

  • DB2 fKP

  • *j$

    \q"*hS\qG-R9kWm@/H( =J ) r4HQKJk]O"0bCF,: 983Z

  • \!

    \!

    h1O O8aK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1\qNP]IT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3\qNHQ}! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3=JNQlHzQNU# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4SQL 8` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4=8^NI_} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.gG

  • \!

    Cll89?< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103s> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113[9HQtN2H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118PL/I"C"*hS COBOL K*1k[9H=$ . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    | Xt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1230 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Rt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147!wro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159SQL KFA9k*W7gs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

    h4O H_~_Xt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171sXt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1749+i

  • \!

    | CREATE PROCEDURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531CREATE STOGROUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544CREATE SYNONYM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547CREATE TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549CREATE TABLESPACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573

    | CREATE TRIGGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591CREATE VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602DECLARE CURSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609DECLARE STATEMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614DECLARE TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619DESCRIBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625DESCRIBE CURSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632

    | DESCRIBE INPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634DESCRIBE PROCEDURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637DROP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640END DECLARE SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654EXECUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656EXECUTE IMMEDIATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659EXPLAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661FETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674

    | FREE LOCATOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677GRANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678GRANT (8gC") . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681GRANT (G

  • \!

    | REVOKE (9-

  • \!

    | SYSIBM.SYSCONSTDEP = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877SYSIBM.SYSCOPY = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878SYSIBM.SYSDATABASE = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881

    | SYSIBM.SYSDATATYPES = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883SYSIBM.SYSDBAUTH = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884SYSIBM.SYSDBRM = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887SYSIBM.SYSDUMMY1 = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889SYSIBM.SYSFIELDS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890SYSIBM.SYSFOREIGNKEYS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892SYSIBM.SYSINDEXES = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893SYSIBM.SYSINDEXPART = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896SYSIBM.SYSINDEXSTATS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898SYSIBM.SYSKEYS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899

    | SYSIBM.SYSLOBSTATS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 900SYSIBM.SYSPACKAGE = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901SYSIBM.SYSPACKAUTH = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907SYSIBM.SYSPACKDEP = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909SYSIBM.SYSPACKLIST = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910SYSIBM.SYSPACKSTMT = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911

    | SYSIBM.SYSPARMS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913SYSIBM.SYSPKSYSTEM = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915SYSIBM.SYSPLAN = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916SYSIBM.SYSPLANAUTH = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920SYSIBM.SYSPLANDEP = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921SYSIBM.SYSPLSYSTEM = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922SYSIBM.SYSPROCEDURES = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923SYSIBM.SYSRELS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925SYSIBM.SYSRESAUTH = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926

    | SYSIBM.SYSROUTINEAUTH = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928| SYSIBM.SYSROUTINES = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929| SYSIBM.SYSSCHEMAAUTH = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935

    SYSIBM.SYSSTMT = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936SYSIBM.SYSSTOGROUP = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938SYSIBM.SYSSTRINGS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939SYSIBM.SYSSYNONYMS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940SYSIBM.SYSTABAUTH = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941SYSIBM.SYSTABLEPART = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944SYSIBM.SYSTABLES = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947SYSIBM.SYSTABLESPACE = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951SYSIBM.SYSTABSTATS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954

    | SYSIBM.SYSTRIGGERS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955SYSIBM.SYSUSERAUTH = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956SYSIBM.SYSVIEWDEP = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959SYSIBM.SYSVIEWS = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960SYSIBM.SYSVOLUMES = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961SYSIBM.USERNAMES = . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962

    U?E. SQL =sl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963

    \! vii

  • \!

    U?F. f

  • h1O O8aK

    \qNP]IT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3\qNHQ}! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3=JNQlHzQNU# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4SQL 8` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4=8^NI_} . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.gG

  • 2 DB2 UDB 5

  • \qNP]IT

    \qO"DB2 fKP

  • =JNQlHzQNU#

    \qGO"DB2 fKP

  • required_item

    $U*r`\ (optional_item) O"g~hjN*r

    `\Og~hj

  • .gG

  • "kU!YCHgNrb,,WKJj^9# \YKD$FO"DB2 "Wj1

  • DB2 I}Njz- Nh 3 t (h 1 ,) GO"DB2 79F`XN"/;9*hS DB2bNG

  • | http://www.software.ibm.com/data/db2/os390

    | DB2 qA| DB2 fKP

  • | f

  • | $si$s}WKhCF"}WN8g,f

  • | f

  • | ODBC "Wj1

  • | IC!=

    | h 6 GHh 5 GN>}Nf

  • h6O, 9F

  • 656Z

  • DB2 N50

    h2O DB2 N50

    =$=Hq@l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19E* SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190* SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19x(V-H_~_ SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19PC0 SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    | DB2 *

  • DB2 N50

    18 DB2 UDB 5

  • DB2 N50

    =$=Hq@l

    =$=Hq@l (SQL) O"jl

  • DB2 N50

    PC0 SQL\qGO"PC0 SQLHO"SPUFIJU!$k~OrH& SQL h}Wm0i`KXBTMj5lk SQL 9F

  • DB2 N50

    9-0G9#

    9-

  • DB2 N50

    wz

    | wz O"p\=^?Odu=NTKP9k]$s?l"1 s^?O#tsNG

  • DB2 N50

    F-0=rF=

    K9k3HbG-^9#

    0=G"k=""k$O0=G"k=#

    h2O DB2 N50 23

  • DB2 N50

    2H~| X"9k=l>lN=,=N=+HN0T,/J/Hb 1 TO"kT#

    >0T FT,/J/Hb 1 TO"kT#

    0TG"kT""k$O0TG"kT#

    +J2HT =NT+HNFG"kT#

    +J2H= 1lN2H)sNfGF=G"kH1~K>0=Gb"k=#3N)

    sN3HO"+J2H)s HFS^9#

    2H]4N,'O"J0TK^GAB5l^9#

    SET NULL NlgO"D NfN P NF>0TN0t-0=Go|,', SET NULL Nlg"D Oo|`nKX?5;ilk@1GOJ/"o|`nfK D NT,975lkD=-b"j^9#

    D , P N>0=Go|,', CASCADE Nlg"D Oo|`nKX?5;ilk@1GOJ/"o|`nfK D NT,o|5lkD=-b"j^9# D NT,o|5l?lgO"P No|`n, D KAB5l?H@$^9#D ,F=Gb"klgKO"eR7?hV,"5iK D N>0=K,Q5l^9#

    24 DB2 UDB 5

  • DB2 N50

    P XNo|`nKX?9k=O"9YF P Ko|\3 7F$k"HFPl^9#7?,CF"=, P N>0=G"k+"^?O"P +iNo|`n,"?9k=N>0=G"klgKO"=N=Oo|\35lF$k3HKJj^9#

    !:)s

    !:)s HO"=NFTN 1 D^?O#tNsK~O9k3H,G-kMrXj9k,'G9# !:)sO$UXjG"j"SQL 9FO"T Ns>rXj7J1lPJiJ$"H$&3H,"j^9#cKD$FO" DB2 I}Njz- Nh 2 t (h 1 ,) r2H7F/@5$#

    =KO!:)s,$/D"CFb=$^;s#J

  • DB2 N50

    | Hj,

  • DB2 N50

    SeCF,`5l^9#91LRNG9O"18 P$HG9# ;1LRNG9O"8 P$HG9# 3liN95)BKO"hZj1LRNH%8zO^^l^;s#

    91LR+;1LR+O"=l,=9bNKhCFh^j^9# ?H(P"-1h0k0O;1LRG9#l}"s$~N=>O91LRG9#X?>,'YG"1LR,?

    r=93H,G-kN+"*hS"k?$Wr=91LR,91LR+;1LR+KD$F

    b@7^9#

    G

  • ?>,'

    | 3 t,>rHQ7",6G

  • ?>,'

    database-name G

  • ?>,'

    | -G9# 3 V\Nt,O91LRG9# Ft,O,:Tj*| IGhZj^9#

    | 2 DNt,+iJkWm7

  • ?>,'

    table-name =r(9$~>^?Os$~>#

    04$~N=>O 3 DNt,+iJk>0G9# GiNt,O"=,]I5lF$k DBMS r(9m1G9# 2 V\Nt,O"=Nj-Tr(9vD ID G9# 3 V\Nt,O91LRG9# Ft,O,:Tj*IGhZj^9#

    2 DNt,+iJk=>O"=T5

  • ?>,'

    Nm1G9# 2 V\OvD ID G9#3lO"55ZOE[K$~5l^9#>0r$~9k,'O">0,1L9k*V

    8'/HN?$WKhCF[Jj^9#

    | s$~NL>"wz"="*hSSe0| s$~NL>"wz"="*hSSe0O"!Nh&KE[K$~5l^9#

    E* SQL 9F

  • 9-

  • L>H1Al

    | CURRENT PATH Cll89?

  • vD ID HvD>

    L>O"=T50KjAG-^9#1AlO"{8N=^?OSe0K7+jAG-^;s#

    =^?OSeO"INvD ID KhCFbH&3H,G-k$~>G9#1AlO"3lrn.7?vD ID KhCF7+H(J$s$~>G9#

    "k DB2 5V79F`GjA5l?L>O"LN DB2 5V79F`GbH&3H,G-^9#1AlO"=l,jA5l? DB2 5V79F`G7+H(^;s#

    L>rH&~O"=l,(7F$k>0,$jANlg""k$O=N>0,=T5

    sH,`w5l"BT5lk~N SQL vD ID O SMITH G9# KEENE O"GRANT 9FG9#

    GRANT 9F

  • vD ID HvD>

    OJ/"Wis^?OQC1

  • vD ID HvD>

    Wis*hS=NX"9kQC1

  • vD ID HvD>

    | E[$~: 9H""*hSwz>NE[$~RKbJj^| 9#

    | BT0n,,Q5lJ$lgK)B5lk9F

  • vD ID HvD>

    | j^;s# "Wj1

  • vD ID HvD>

    vD ID Q93l^GNb@GO"3 DNvD ID KD$F@Z7^7?# 9JoA"f

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • G

  • djvFHfS

    | = 8. H_~_G

  • djvFHfS

    Ni;Kb,Q5l^9#84Z

  • djvFHfS

    tMdjvF

    tMdjvFNp\,'O"10 Jt^?O0tN0tt,rZjNFk3HOG-J$H$&3HG9# 10 JtN.tt,O",WK~8FZjNFil^9#

    10 Jt^[email protected]@tOBtr5NKO=7F$J$NG"b0.t@Ns^?OQtK 10 Jt^?O0trdjvF?kLO"5NtMH18KJiJ$lgb"j^9#

    b0.t@t^?O 10 Jt+i0tX1:Yb0.t@tr0tKQ99klgO"-ztzN 7 e\G]a,Tol",WK~8F"-ztzN 7 e\+itMN*oj^G

  • djvFHfS

    J

  • djvFHfS

    il^9# 3NQ9K*$FO":Yr 16 K9k?aK",WK~8FtMNvxK

  • djvFHfS

    MOVE 12345 TO A.

    9Hjs0NdjvF=},9Hjs0G"klgK"J

  • djvFHfS

    9Hjs0,57$A0N.gG

  • djvFHfS

    J

  • djvFHfS

    | T ID NdjvF| T ID NMO"T ID G

  • djvFHfS

    | !K"2 DN= TABLE1 H TABLE2 r"18J

  • djvFHfS

    tMfS

    tMOetfS5l^9#9JoA"df,M85l^9# ?H(P"-2 O +1 hj.G9#

    l}NtM,0tGb&l}, 10 JtNlgO"0trl~*K 10 JtKQ97F+i"fSrT$^9#

    LhjN[Jk 10 JtrfS9klgO"IAi+l}NtMN.tt,Net,b&l}NtMH18KJkh&K=NtMNvxKl~*K}HbuNlg""k$OP~9kP$H,9YFy7$lgKy7/Jj^9# u9Hjs0OVis/N9Hjs0H18G9# 2 DN9Hjs0,y7/J$lg"=NX8J9JoA"IAi,g-$Mr}D+KO"9Hjs0N8CFT$^9# ASCII G

  • djvFHfS

    95N[Jk 2 DN3N9YFNsO18U#

  • djvFHfS

    9Hjs0N8z,Q9G-J$lg""k$OHQ7? SYSSTRINGS =K"fS9k*ZisIN 2 DN CCSID KX9kps,^^lF$J$lgKO"(i

  • djvFHfS

    | =12 O"-zJfSH5zJfSNcr(7F$^9# 3NcGO"J

  • djvFHfS

    | = 12 (2/2). Cl?$Wr^`-zJfSH5zJfSNc

    | SQL 9F| CAST(DATE('A6/12/1999') AS CAMP_DATE);

    | O$| 9Hjs0jt '06/12/99' ,Cl?$W| CAMP_DATE K-c9H5l">}NM,18C| l?$WKJj^9#9Hjs0jtr"=

  • kLNG

  • kLNG

  • jt

    | |U~o*ZisI| DATE ?$WO"LN DATE ?$W""k$O|UN-zJ9Hjs0==,~CF$k| $UN CHAR ^?O VARCHAR 0H_9-,"j^9#kLNG

  • jt

    =8^GHQ7F$k0t H$&QlO"dfr^`3HNG-J$0jtr=7F$^

    9#

    b0.t@jt

    b0.t@jt O"2 DNtMr E G,1?A0Gb0.t@trXj7^9#GiNtMKO"dfH.t@r~lk3H,G-^9#2 V\NtMKO"dfO~lil^9,".t@O~lil^;s#jtNMO"GiNtMH"2 V\NtMGXj5l? 10 N_hMHNQG9# 3NMO"b0.t@tNOObKJ1lPJj^;s# jtNfN8zt

    O"30 r6(FOJj^;s#hTl5 H 2" 4 H 0" 2 H 0"23 H 2 G9#

    A25.5A 1AAA. -15. +375893333333333333333.33

    8z9Hjs0jt8z9Hjs0jt ODQ98z9Hjs0rXj7^9#8z9Hjs0jtKO"J

    s>

    s>NU#O"=N8.KhCFQoj^9#s>OJ0rk@9kJCREATE TABLE 9FO"Xt,,Q5lk0kO=N=.,,Q5lkFT^?O0k CODE KhCFXj5lkMO"=NTN CODE sNMG9#

    | sN>0rQ99k (FROM 8aG2H9k=NjX8a GH&lgJI)#

    $~5l?s>s>N$~RKO"=>"Se"L>"1Al""k$OjX>rH&3H,G-^

    9#

    s>r$~G-k+I&+b"=NU#H1MK8.KhCFh^j^9#

    COMMENT ON 9FOf

  • s>

    | jX>O"=l,jA5lF$k8.K*$FN_"="Se^?OSer;/7?>0H7

    FH&3HbG-^9# 0RNcGO"X.MYTABLE H~O9kNr 1 s@1GQ^;k?a@1K"Z rHQ7F$klgbM(il^9#

    | FROM 8aNjX>NHQKhCF"kL=NsKX"U1ks>Nj9HrXj9k3H| ,G-^9#jX>NlgH1MK"j9H9ks>O"SELECT 9F0GJ1lPJj^;s#?H(P"DEPT =bNGiNsN>| 0, DEPTNO G"kH7^9#J$~R

    | Xt"GROUP BY 8a"ORDER BY 8a"0"^?O!wroN8.NfGO"s>O| "k="Ser| $~9k 1 DN}3O"=Ns,IN=K"ksJN+r(93HK"j^9#

    =XjR: CjN*V8'/H=rXj9k$~Rr=XjR HFS^9#*V8'/H=r1L9k8aO"*V8'/H=N=XjRb_j7^9# ?H(P"SELECT 8abN0N*V8'/H=O"!N9F"Se"M9H5l?=N0"^?O=XtK3/jX>O=XjRG9# 7| ?,CF"Z O=XjRG"j"SELECT NemK"kGiNs>r$~7F$^9#

    jX>,eK3+J$ =>^?OSeO=XjRG9# 7?,CF"$~5l?=>N DSN8610.EMPPROJACT O=XjRG"j"EMPNO sr$~7F$^9#

    DB2 SQL GN$jA2H^?O"$^$2HNI_: s>,sNMr2H9klgKO"=N>0r}Dsr^sG$k*V8'/H=O 1 D@1GJ1lPJj^;s#!Nh&Ju7O"(i0r}Dsr^sG$k*V8'/H=,J$lg# 2HO$jAHJj^9#

    =XjRGs>r$~7FO$k,"(5l?=KXj7?>0Ns,J$lg# 3Nlgb"2HO$jAHJj^9#

    114 DB2 UDB 5

  • s>

    >0r$~7F$J$eK"=N>0r}Ds,#tN*V8'/H=K^^lF$klg# "$^$J2HH$&3HKJj^9#

    "$^$J2HO"DLKjA7?=XjRrHCFs>r$~9k3HGI_7F/@5

    $# [Jk>0N#tN*V8'/H=K^^lF$ksNlgKO"=>rXjRH7F

    HQ9k3H,G-^9#

    #tN*V8'/H=r"18=NL9N$s9?s9H9k3H,G-^9#1lN=K

    P7F n DN2Hr^sG$k FROM 8aKO"/J/Hb n - 1 DNG-NjX>r~lk,W,"j^9#

    ?H(P"J$~R

    {*r O"HqN 1 DNA0G"CF"5^6^J SQL 9FG"kH9kH"C"T.C"^?O Q.C H$&A0K9k3H,G-^9#?@7"s$~s>A0NjX2HOI$}!HO@(^;s#JK9k3Hr0sH7F$^9#

    $~5l?s> Q.C O"!N 3 DNro,~?5l?lgKBj"jX2HHJj^9#

    {HqN!wroG Q.C ,HolF$k# Q ,"=N{HqN FROM 8aGHolF$k=r(9bNGJ$3H# Q ,"hjbLN$:l+NlYkGHolF$k=r(9bNG"k3H#

    Q.C O"Q ,=^?OSerH&h&K7F/@5$# Q ,#tNlYkG=rXj9k?aKHolF$klg"Q.C O=l,^^lF$k{Hq,~CF$kGclYkr2H7^9#

    h3O @lWG 115

  • s>

    ?H(P"!N9FH7F_j7F$kKGiN FROM 8aNlYkK"k=DSN8610.EMP N WORKDEPT NMr2H7^9#. 3N9FOoK>\*J>0G9#jX>,eK3+J$=>| ^?OSeb>\*J>0G9#

    IBM SQL *hS ANSI/ISO SQLGO"FROM 8abN>\*J>0OG-N>0GJ1lPJj^;s#^?"s>N$~RO>\*J>0K7J1lPJj^;s#

    s>$~RN2HjjN+D1}N,'O"J"2 t,>"^?O 3 t,>K7F"Q.C ,{*r S bNs>r(9h&K7^9# Q O"S r^sG$k9F

  • s>

    r^`{*rN FROM 8aNfN9YFN>0HfS5l^9#{*r,{HqG"klg"Q O=N{Hqr^sG$k{*rN FROM 8aN9YFN>0HfS5l^9#J0,^^lF$klg"=N8aNfGNfSO8+i&XTol^9#

    c. Q N2HhO"J,rh5lk0K,Q5l^9# !wA0N UPDATE 9FN8aH18G9#

    h3O @lWG 117

  • [9HQtN2H

    [9HQtN2H

    [9HQt O"SQL 9F

  • [9HQtN2H

    SELECT 9F

  • [9HQtN2H

    | $lgKO"LOB m1

  • PL/I"C"*hS COBOL K*1k[9H=$

    | kL;CH&m1

  • PL/I"C"*hS COBOL K*1k[9H=$

    [9H=$,81[shj m D@1>,KQtr}CF$klg"[9H=$NGeN mDNQtO81Qtr}A^;s# [9H=$,}CF$kQtNt,81[s,}CF$

    kthjb m D@1/J$lg"81[sNGeN m DNQtO5k5l^9# 3liN,'O"[9H=$KP9k2HK81Qt,^^lF$klg""k$O[9HQtKP

    9k2HK81[s,^^lF$klgKb,Q5l^9# 81[s^?O81QtrXj

    7F$J1lP"[9H=$NQtO81Qtr}A^;s#

    =$2HN>K"PL/I"C"*hS COBOL ND9N[9HQt^?O81Qtb"$~>KhCF2H9k3H,G-^9# $~5l?A0O"[9H1LRNeK"Tj*IHL

    N[9H1LRr31?AG9# GiN[9H1LRO=$rXj7J1lPJj^;s#

    ^?"2 V\N[9H1LRO"=N=$bN[9HQtrXj7J1lPJj^;s#

    PL/I"C"*hS COBOL GN[9HQt N=8O"J

  • Xt

    | Xt

    | Xt HO"Xt>NeK"gLGO^l?

  • Xt

    | sXt Ou1hC?z-tKX9k1lMNkLra7^9#z-tO"1 HN`wM| (?H(P"sNM) G9#sXtOmWXt HFPlklgb"j^9#H_~_Xt| Hf

  • Xt

    | e-N=8G"expression O9+i

  • Xt

    | m0i`NQC1

  • Xt

    | K"kG

  • Xt

    | Xt 4 NQia

  • 0

    0

    0 GOMrXj7^9#0NA0OJ}Hb""ki;Rr=7^9#D~J^?O"qKhCFOD~NeojKHQ7J1lPJiJ$8z14)rH&H""k DBMS +iLN DBMS KO5lk9F

  • 0

    | (G

  • 0

    kLN CCSID O"320Z

  • 0

    2 DN0t*ZisIKhk;Qi;;Qi;RN>}N*ZisI,0tNlg"i;O 2 JtGTol"kLOg0tHJj^9# |;N>jO:ol^9# 0tN;Qi;J1`idfr^`KNkLO"g0tN

    OObKJ1lPJj^;s#

    0tH 10 JtN*ZisIKhk;Qi;l}N*ZisI,0tG"b&l}, 10 JtNlgO"0trl~*KLhj, 0 GJ

  • 0

    | DYNAMICRULES NP$sI0n"jA0n"^?OFSP70n,,Q5l"| 3~QMk&U#}N*ZisIN:Y, 15 r6(klgO":Y,.5$}N*ZisIrl~*K3T*ZisIN:Y,18lgKO"h 2 *ZisI,*r5l^9# 3TO1MK,Q5l^9#=NQ9HO"3T*ZisIN:Y,18lgOh 1 *ZisINMr=9bNH7^9#n N 31 e==NfNhT

  • 0

    g-JtMN31e==K*1khT

  • 0

    b0.t@*ZisIrHQ9k;Qi;;Qi;RNIAi+N*ZisI,b0.t@tNlg"i;Ob0.t@tGTol^

    9# *ZisIO",WG"lP"^:O8aK\:Yb0.t@tKQ95l^9# 7?

    ,CF"0NWGH7Fb0.t@t,"klg"0NkLO\:Yb0.t@tHJj^

    9#

    b0.t@tH0t,X89ki;O"0trl~*K\:Yb0.t@tKQ97?=N

    3T

  • 0

    |U|V

    |U|V HO/t"nt"*hS|tr=9bNG"DECIMAL(8,0) NtMH7F==5l^9# 3NtM,57/ra5lk?aKO"yyyymmdd A0KJCF$J1lPJj^;s#yyyy O/t"mm Ont"dd O|tr=7^9#HIREDATE -BIRTHDATE H$&0Nh&K""k DATE Mr LN DATE M+iz$?kLO"|U|VHJj^9#

    ~o|V

    ~o|V HO~Vt",t"*hSCtr=9bNG"DECIMAL(6,0) NtMH7F==5l^9# 3NtM,57/ra5lk?aKO"hhmmss A0KJCF$J1lPJj^;s#hh O~Vt"mm O,t"ss OCtr=7^9#"k TIME MrLNTIME M+iz$?kLO"~o|VHJj^9#

    ?$`&9?sW|V

    ?$`&9?sW|V HO/t"nt"|t"~Vt",t"Ct"*hS^$/mC

    tr=9bNG"DECIMAL(20,6) NtMH7F==5l^9# 3NtM,57/ra5lk?aKO"yyyyxxddhhmmsszzzzzz A0KJCF$J1lPJj^;s#yyyy"xx"dd"hh"mm"ss *hS zzzzzz O=l>l"/t"nt"|t"~Vt",t"Ct"*hS^$/mCr=7^9#"k TIMESTAMP MrLN TIMESTAMPM+iz$?kLO"?$`&9?sW|VHJj^9#

    SQL K*1k|U~oN;Qi;|U~oMGT(k;Qi;O"C;H:;N_G9# |U~oM,C;N*ZisIG"

    klg"b&l}N*ZisIO|VGJ1lPJj^;s# |U~oMKC;i;RrH

    &lgN,'O"qN*KOJ

  • 0

    h 1 *ZisI,?$`&9?sWNlg"h 2 *ZisIO"?$`&9?sW"?$`&9?sWN9Hjs0=="^?O|VGJ1lPJj^;s#

    h 2 *ZisI,?$`&9?sWNlg"h 1 *ZisIO"?$`&9?sW^?O?$`&9?sWN9Hjs0==GJ1lPJj^;s#

    :;i;RN*ZisIO"=NIAibQia

  • 0

    |UN}:: |UK|Vr-7?kL""k$O|U+i|Vrz$?kLO"=l+N,|UHJj^9#J3Ni;GO"nO+ls@

  • 0

    ~oN;Qi;~oO":;"},W;"^?O:,W;rT&3H,G-^9#

    ~oN:;: LN~o(TIME1)+i"k~o(TIME2)rz$?kLO"3N 2 DN~oVN~Vt",t"*hSCtrXj9k~o|VHJj^9#kLNG

  • 0

    ~o|VO"5GbiGb"~oK-7?j"~o+iz$?j9k3H,G-^9# kL

    O"Xj7?~Vt",t"Ct,@13NgxG}:5;?~oKJj^9# 7?,C

    F"TIME1 + XJX O DECIMAL(6,0) N5NtKO!N0H1yG9#

    TIME1 + HOUR(X) HOURS + MINUTE(X) MINUTES + SECOND(X) SECONDS

    ?$`&9?sWN;Qi;?$`&9?sWO":;"},W;"^?O:,W;rT&3H,G-^9#

    ?$`&9?sWN:;: LN?$`&9?sW (TS1)+i"k?$`&9?sW (TS2 )rz$?kLO"2 DN?$`&9?sWVN/t"nt",t"Ct"*hS^$/mCtrXj9k?$`&9?sW|VHJj^9#kLNG

  • 0

    i;NgxgLNfN0,GiK>A5l^9# >ANgx,gLGXj5lF$J$lgKO"\,

    i;R,h;H|;hjhK,Q5l"h;"|;"*hS"k,C;H|;hjhKTo

    l^9# 18gxlYkK"ki;RO"8+i&X,Q5l^9#

    c 1:

    1.1A L (SALARY + BONUS) + SALARY / :VAR3

    (2) (1) (4) (3)

    Example 2: 3NcGO"GiNi; (CONCAT) ,"QtN YYYYMM H DD K~CF$k8z9Hjs0rkSU1F"|Ur=9 1 DN9Hjs0K7^9#!K"2 V\Ni; (-) ,"DATECOL Gh}5lF$k|U+i=N|Urz-^9# kLO"2 DN|UNVGPa7?~Vr(9|U|VG9#

    DATECOL - :YYYYMM CONCAT :DD

    (2) (1)

    CASE 0

    ELSE NULL CASE searched-when-clause END simple-when-clause ELSEresult-expression

    searched-when-clause: % WHENsearch-conditionTHEN result-expression NULL

    simple-when-clause: .0 % WHEN0THEN result-expression NULL

    CASE 0rHQ9kH"1 DN0r 1 D^?O#tNroN>AKpE$F*r9k3H,G-^9#lLK"CASE 0NMO?HJC?GiN ( 8< )N CASE K3/result-expression NMKJj^9#IN CASE b?KJi:"ELSE -

  • 0

    searched-when-clause>ANP]H7F8_9k=l>lNTH=G

  • 0

    c 2 (searched-when-clause): CASE 0rHQ7F

  • 0

    | CAST XjO"h 1 *ZisI (-c9H&*ZisI) r"h 2 *ZisIKhCFXj| 5l?G

  • 0

    | cast XtNrh: DB2 O9-*hS?

  • 0

    | !P7^9#?H(P"Jr SCHEMA1 (AGE H$&>0NCl?$Wr^sG$F"f

  • Rt

    Rt

    Rt O"Xj5l?T^?O0k

  • Rt

    x H y H$&MNlg'

    Rt J y x O y hjg-$#x >= y x O y hjg-$+y7$#x y x O y hjg-/J$#

    ]j-f () "k$OCjNqG=NeojKHoJ1lPJiJ$8z17O""k DBMS+iLN DBMS KO5lk9F4 (SELECT AVG(SALARY) FROM DSN861A.EMP)

    ?MfSRt

    expression = SOME (subselect) ANY > ALL =

  • Rt

    {*rGa5l?M,J$lg"^?OXj7?X8,{*rKhja5l?9YFNMKD$F?NlgK"?HJj^9#

    Xj7?X8,{*rKhja5l?MKD$F6NbN,"/J/Hb 1 D"klgK"6HJj^9#

    Xj7?X8,{*rKhja5l?MKD$F6NbN,J/"LkMN?aKT@HJC?fS,/J/Hb 1 D"klgK"T@HJj^9#

    SOME ^?O ANY rXj7?lg"RtNkLO!Nh&KJj^9#

    Xj7?X8,{*rKhja5l?MKD$F?NbN,/J/Hb 1 D"klgK"?HJj^9#

    {*rGa5l?M,J$lg"^?OXj7?X8,{*rKhja5l?9YFNMKD$F6NlgK"6HJj^9#

    Xj7?X8,{*rKhja5l?MKD$F?NbN,J/"LkMN?aKT@HJC?fS,/J/Hb 1 D"klgK"T@HJj^9#

    c: !N=rHQ7F"J ANY(SELECT COLB FROM TBLB)

    c 3: J SOME(SELECT COLC FROM TBLB)

    c 5: J3)

    c 6: J

  • Rt

    COLA < ANY(SELECT COLB FROM TBLB WHERE COLB>3)

    COLA , TBLA N 1 D^?O#tNTGLkMG"C?lg"9YFNTN TBLA KD$FRtO6N^^G9#

    BETWEEN Rt

    expression BETWEENexpressionANDexpression NOT

    BETWEEN RtO"Xj7?M,":gGXj7?LN 2 DNMNVK"k+I&+r=L7^9# 3NRtN 2 DNA0O=l>l"!Nh&J1yN!wror}CF$^9#

    3NRtO' M 1 BETWEEN M 2 AND M 3&-N!wroKjv7^9# M 1 >= M 2 AND M 1

  • Rt

    EXISTS Rt

    EXISTS(subselect)

    EXISTS RtO"CjNTN-5rF9H7^9#

    3NRtNkLO"{*rKhja5l?kL=K 1 TGb^^lF$lP"?HJj^9#=lJ0NlgO"6NkLHJj^9#

    {*rbN SELECT 8aO"{*rGa5lkMO5k5lkNG"sr$/DGbXj9k3H,G-^9# !N8arH(PJ1G9#

    SELECT L

    NULL"LIKE"*hS IN NFRtHO[Jj"EXISTS RtKO NOT H$&lr^`A0O"j^;s# EXISTS Rtr]j9klgO"!Nh&K@}i;RN NOT r=N0KV$F/@5$#

    NOT EXISTS (subselect)

    3NlgO"EXISTS Rt,?N~K6NkLHJj"Rt,6N~K?NkLHJj^9# 33GO"NOT O@}i;RG"j"RtNltGO"j^;s#@}i;RKD$FO"159ZHwVfrj9H7^9#?/N EXISTS RtH1MK"3NHqNRtbjXQtr^sG$^9#

    SELECT EMPNOFROM DSN861A.EMP XWHERE EXISTS (SELECT L FROM DSN861A.EMP

    WHERE X.WORKDEPT=WORKDEPT AND SALARY

  • Rt

    IN Rt

    expression IN (subselect) NOT ,

    | ( % expression )

    IN RtO"1 DNMr 1 HNMHfS7^9#

    {*rA0GO"{*rO 1 DNkLsrXj9kbNGJ1lPJj^;s#^?"LkMG"k+]+KX8J/"Mr$/DGba93H,G-^9#IN RtO"JHwNTKD$FO?G9#

    WORKDEPT IN ('D11', 'BA1', 'CA1')

    c 2: !NRtO"tg E11 G/$F$k>HwNTKD$FO?G9#

    EMPNO IN (SELECT EMPNO FROM DSN861A.EMPWHERE WORKDEPT = 'E11')

    | c 3: J

  • Rt

    | YEAR(PRENDATE) IN (YEAR(CURRENT DATE),| YEAR(CURRENT DATE + 1 YEAR),| YEAR(CURRENT DATE + 2 YEARS))

    c 4: !NcO"DSN8610.EMP Nf+i">HwVf(EMPNO) ,JA9k?aKQ?

  • Rt

    | YF0iU#C/&9Hjs0G"k+""k$O9YF 2 J9Hjs0GJ1lPJj^| ;s#IN0b"Cl?$Wr8.9k3HOG-^;s,"Cl?$Wr=N=

  • Rt

    Q?

  • Rt

    | e-N$:l+r"k7?0

    ESCAPE 8a*hS escape-expression NHQK"?CFO"J

  • Rt

    c 3: J

  • Rt

    c 7 !N=K*$F"COL1 ,.g ASCII G

  • !wro

    !wro

    !wro GO"Xj5l?T^?O0klNRtKXj7?@}i;RJAND"OR"NOTKr,Q9k3HKhCF@il^9# @}i;RrXj7J1lP"!wroNkLO"Xj

    7?QtNkLHJj^9#

    AND H OR NjAO"!N=NH*jG9#3N=K*$F"P H Q O$UNRtr=7^9#

    NOTJ?KO6"NOTJ6KO?"^? NOTJT@KOT@G9#

    gLbN!wro,hK>A5l^9#>ANgxrgLGXj7F$J$lg"NOT ,AND N0K,Q5l"AND , OR N0K,Q5l^9# 18gxlYkNi;R,>A5lkgxO"!wroNG,=,G-kh&K$jAHJCF$^9#

    c 1: J:SS AND COMM>:CC OR BONUS>:BBSALARY>:SS AND (COMM>:CC OR BONUS>:BB)

    = 21. AND *hS OR N?}M=

    P Q P AND Q P OR Q

    ? ? ? ?

    ? 6 6 ?

    ? T@ T@ ?

    6 ? 6 ?

    6 6 6 6

    6 T@ 6 T@

    T@ ? T@ ?

    T@ 6 6 T@

    T@ T@ T@ T@

    h3O @lWG 159

  • SQL KFA9k*W7gs

    c 2: J:SS AND COMM>:CCNOT (SALARY>:SS AND COMM>:CC)

    c 3: !N!wroGO"AND ,hK,Q5l^9#AND ,,Q5l?e"OR ,,Q5l^9#3N 2 DN OR OIAirhK,Q7FbkL,Qok3HO"j^;s#7?,CF"DB2 O OR r,Q9kgxr*V3H,G-^9#

    SALARY>:SS AND COMM>:CC OR BONUS>:BB OR SEX=:GG

    SQL KFA9k*W7gsCjN DB2 Wj3sQ$i

  • SQL KFA9k*W7gs

    = 22 (2/3). SQL 9F

  • SQL KFA9k*W7gs

    = 22 (3/3). SQL 9F

  • SQL KFA9k*W7gs

    BT"P$sI"jA"^?OFSP7NF0nrXj9k DYNAMICRULES P$sI&*W7gsMNj9HKD$FO"60Z

  • SQL KFA9k*W7gs

    IN8.K*$Fb",%8zH7FH*&H9k3s^NemKO9Z

  • SQL KFA9k*W7gs

    | - DYNAMICRULES NBT0n,,Q5lklg"9Hjs0hZj8zHH| %8zO"9F

  • SQL KFA9k*W7gs

    | HQ5l^9# USE FOR DYNAMICRULES , NO G"klgKO"Wj3sQ$| i

  • SQL KFA9k*W7gs

    [9HQtNk@: [9HQtk@O"9YF BEGIN DECLARE SECTION 9F}KK[9HQtrk@7J1lPJj^;s# SQLCODE OUko

  • SQL KFA9k*W7gs

    E* SQL 9F&,W,"j^9#

    2 DNO$UsO18TNeKJ1lPJj^;s#

    9Z

  • = 23 (2/2). NOFOR Wj3sQ$i[-1hbKn.7J1lPJj^;s#=lO"DB2 Wj3sQ$i[-1hr}C5;kD=-,"j^9# ?

    @7"DBRM 4Nr>[-1bKn.9k3HG"DBRM i$Vij< KX9kBT-NdjOKB5l^9#

    DBRM r"DB2 Wj3sQ$i

  • 170 DB2 UDB 5

  • H_~_Xt

    h4O H_~_Xt

    | H_~_Xt O DB2 (OS/390 G) KhCFs!5lkXtG9#H_~_XtO"Xt>| NeK"gLGO^l? 1 D^?O#tN*ZisI,3$?AG(5l^9#*ZisI| Oz-t HFPl"Fz-tO expression(0) GXj5l^9#H_~_XtNkLO1l| NMKJj^9#3NMO"XtNi;rz-tK,Q9k3HKhCF@il^9#

    | H_~_XtO9-9ra9| 205

    Copyright IBM Corp. 1982, 1999 171

  • H_~_Xt

    = 24 (2/4). 5] b@ Z

  • H_~_Xt

    = 24 (3/4). 5] b@ Zra9| 245

    MONTH z-tNnt,ra9 247

    NULLIF z-t,y7$lgKO NULL ra7"y7/J$lgKOGiNz-tra9

    248

    | POSSTR| GiNz-tNLNz-tbNLVra9| 249

    | POWER| GiNz-tr 2 V\Nz-tNMG_h7?Mra9| 251

    | QUARTER| z-tKXj7?|UKX9k/NM>|r=9 1 +i 4 NOON0| tra9| 252

    | RADIANS| YtG=7?z-tNi8"stra9| 253

    | RAISE_ERROR| Xj5l? SQLSTATE H(i

  • sXt

    = 24 (4/4). 5] b@ ZlNs>O180k

  • sXt

    | COUNT *hS COUNT_BIG XtNkLO"LkMKOJj^;s#AVG"MAX"| MIN"STDDEV"SUM"*hS VARIANCE NrbGRYkh&K"Xt,uN;CHK| ,Q5l?lg"kLOLkMHJj^9#?@7"Xt,0t*rj9HGXj5l"z| -t,;Q0KhCF?(il"0N>AKhCF;Qc0J

  • AVG

    AVG

    ALL AVG( expression) DISTINCT

    | 9-

  • COUNT

    COUNT

    COUNT( DISTINCTexpression ) L

    | 9-

  • COUNT_BIG

    | COUNT_BIG

    |

    | COUNT_BIG( | DISTINCTexpression ) | L

    | 9-

  • COUNT_BIG

    | COUNT(*) H18zLr@kKO"Qia

  • MAX

    MAX

    ALL MAX( expression) DISTINCT

    | 9-

  • MIN

    MIN

    ALL MIN( expression) DISTINCT

    | 9-

  • STDDEV

    | STDDEV

    |

    | ALL| STDDEV( expression) | DISTINCT

    | 9-

  • SUM

    SUM

    ALL SUM( expression) DISTINCT

    | 9-

  • VARIANCE ^?O VAR

    | VARIANCE ^?O VAR

    |

    | ALL| VARIANCE ( expression) | VAR DISTINCT

    | 9-

  • 9+iHwVf">z"*hS/prWa7^9#/praakKO"9+iHw,tg D11 K$k DSN8610.EMP NFTK*$F"

    SELECT EMPNO, LASTNAME, YEAR(CURRENT DATE - BIRTHDATE) FROM DSN861A.EMP

    WHERE WORKDEPT = 'D11';

    J

  • ABS

    | ABS ^?O ABSVAL

    |

    | ABS| (expression) | ABSVAL

    | 9-

  • ACOS

    | ACOS

    |

    | ACOS(expression)

    | 9-9ra7^9#ACOS H COS| XtOUNi;rT$^9#

    | z-tO"M, -1 A 1 NOOK"j"$:l+NH_~_tMG

  • ASIN

    | ASIN

    |

    | ASIN(expression)

    | 9-

  • ATAN

    | ATAN

    |

    | ATAN(expression)

    | 9-

  • ATANH

    | ATANH

    |

    | ATANH(expression)

    | 9-

  • ATAN2

    | ATAN2

    |

    | ATAN2(expression1,expression2)

    | 9-l"x H y B8rXj7^9#

    | Fz-tO"$:l+NH_~_tMG

  • BLOB

    | BLOB

    |

    | BLOB(expression ) | | ,integer

    | 9-

  • CEIL ^?O CEILING

    | CEIL ^?O CEILING

    |

    | CEIL| (expression) | CEILING

    | 9-

  • CHAR

    CHAR

    |U~o+i8z

    CHAR(datetime-expression ) , ISO USA EUR JIS LOCAL

    | 8z+i8z|

    | CHAR(character-expression ) | | ,integer

    | 0t+i8z|

    | CHAR(integer-expression)

    10 Jt+i8z CHAR(decimal-expression ) ,decimal-character

    | b0.t@t+i8z|

    | CHAR(floating-point-expression)

    | T ID +i8z| | CHAR(row-ID-expression)

    | 9-

  • CHAR

    |U~o+i8z

    datetime-expressionJ

  • CHAR

    | OZjNFil^9#ZjNFil?9YFN8z,Vis/NlgJ0O"Yp,a5l| ^9#

    | character-expression ,u9Hjs0Nlg"(i

  • CHAR

    | floating-point-expression| M,b0.t@G

  • CHAR

    c 4: 5sWk= DSN8610.EMP KX7F"!N SQL 9FHwN?Qk?N8z9Hjs0==K_j7^9#

    EXEC SQL SELECT CHAR(AVG(SALARY)) INTO :AVERAGE FROM DSN861A.EMP;

    DEC31 rH&H"AVG r 10 JtK,Q7?kLO:Y, 31 eN 10 JtKJj^9#3Nh&Kg-J 10 JtrjAG-k[9H@lO";sViHwKX7F"[Q|UHk?r=(7^9#k?N.t| @8zH7F3s^rHQ7^9 (18357,50)#

    | SELECT HIREDATE, CHAR(SALARY, ',')| FROM DSN861A.EMP| WHERE SALARY = 18357.5A;

    | k?O9Hjs0M '00018357,50' H7F=(5l^9#

    | c 8: c 7 N7Jj*r+jV7^9,"20000.25 +i SALARY sNMr:;7"k?r| J,~N.t@8zrHQ7F=(7^9#

    | SELECT HIREDATE, CHAR (2AAAA.25 - SALARY)| FROM DSN861A.EMP| WHERE SALARY = 18357.5A;

    | k?O9Hjs0M '0001642.75' H7F=(5l^9#

    | c 9: [9HQt SEASONS_TICKETS , INTEGER H7FjA5l"M, 10000 G"k| H7^9#DECIMAL XtH CHAR XtrHQ7F"Mr8z9Hjs0 '10000.00' K| Q97^9#

    | SELECT CHAR(DECIMAL(:SEASONS_TICKETS,7,2))| FROM SYSIBM.SYSDUMMY1;

    198 DB2 UDB 5

  • CHAR

    | c 10: = T1 bNs COL1 H COL2 ,>}Hb REAL H7FjA5l"T1 K 2 DNsN| M, 7.1E+1 H 7.2E+2 G"k1lNT,^^lF$kH7^9#2 DNsrIC7F"k| Lr8z9Hjs0H7F=7^9#

    | SELECT CHAR(COL1 + COL2)| FROM T1;

    | kLO8zM '1.43E2 ' KJj^9#

    h4O H_~_Xt 199

  • CLOB

    | CLOB

    |

    | CLOB(expression ) | | ,integer

    | 9-

  • COALESCE

    COALESCE

    COALESCE (expression % ,expression ) VALUE

    | 9-

  • COALESCE

    c 3: 1993 /*hS 1994 /KX7F"FtgNder-?7?=,"kH7^9#S1993H S1994 NF=O"DEPTNO sH SALES sG=.5lF$^9#=NIAibLkMH9k3HOG-^;s# J}N/Ktg,8_7F$?+I&+K++oi

    :"kLK9YFNtgr^ak3H,G-kh&KJj^9# COALESCE XtKhCF"2 DNkgsr 1 DNsKkg9k3H,G-^9#=Nh&K9kH"kLrgVKBYk3H,G-^9#

    202 DB2 UDB 5

  • CONCAT

    | CONCAT

    |

    | CONCAT (expression1,expression2) | "||"(1)

    | m:| 1 D~ (||) O"-zJ SQL H%8z (" ^?O ') KhCFO`,W,"j^9#

    | 9-

  • COS

    | COS

    |

    | COS(expression)

    | 9-9ra7^9#COS H ACOS Xt| OUNi;rT$^9#

    | z-tO"$:l+NH_~_tMG

  • COSH

    | COSH

    |

    | COSH(expression)

    | 9-9ra7^9#

    | z-tO"$:l+NH_~_tMG

  • DATE

    DATE

    DATE(expression)

    | 9-

  • DATE

    3lO"1989 / 3 n 2 |Nbt==ra7^9#

    h4O H_~_Xt 207

  • DAY

    DAY

    DAY(expression)

    | 9-N,'O"z-tNG

  • DAYOFMONTH

    | DAYOFMONTH

    |

    | DAYOFMONTH(expression)

    | 9-HwVf 140 NM,[| Q5l?nN|K;CH7^9#

    | SELECT DAYOFMONTH(HIREDATE)| INTO :DAYVAR| FROM DSN861A.EMP| WHERE EMPNO = 'AAA14A';

    h4O H_~_Xt 209

  • DAYOFWEEK

    | DAYOFWEEK

    |

    | DAYOFWEEK(expression)

    | 9-

  • DAYOFYEAR

    | DAYOFYEAR

    |

    | DAYOFYEAR(expression)

    | 9-

  • DAYS

    DAYS

    DAYS(expression)

    | 9-

  • DBCLOB

    | DBCLOB

    |

    | DBCLOB(expression ) | | ,integer

    | 9-

  • DECIMAL ^?O DEC

    DECIMAL ^?O DEC

    DECIMAL ( numeric-expression ) | DEC string-expression ,integer1

    ,integer2

    | 9-

  • DECIMAL ^?O DEC

    c: DSN8610.EMP NfN>HwN?Qk?r" 8 eN 10 Jt(3N&A 2 er.t@N&&K9k)H7F=7^9#

    SELECT DECIMAL(AVG(SALARY),8,2) FROM DSN861A.EMP;

    h4O H_~_Xt 215

  • DEGREES

    | DEGREES

    |

    | DEGREES(expression)

    | 9-

  • DIGITS

    DIGITS

    DIGITS(expression)

    | 9-

  • DOUBLE ^?O DOUBLE_PRECISION

    | DOUBLE ^?O DOUBLE_PRECISION

    |

    | DOUBLE ( numeric-expression ) | DOUBLE_PRECISION string-expression| FLOAT

    | 9-

  • EXP

    | EXP

    |

    | EXP(expression)

    | 9-

  • FLOAT

    FLOAT

    FLOAT(expression)

    | 9-

  • FLOOR

    | FLOOR

    |

    | FLOOR(expression)

    | 9-

  • GRAPHIC

    | GRAPHIC

    | 8z+i0iU#C/|

    | GRAPHIC(character-expression ) | | ,integer

    | 0iU#C/+i0iU#C/|

    | GRAPHIC(graphic-expression ) | | ,integer

    | 9-

  • GRAPHIC

    | character-expression NF8zKhCF"kLN8z,h^j^9#kL,3-P5lk0| K"z-tOM$F#VA0N.gG

  • HEX

    HEX

    HEX(expression)

    | 9-

  • HOUR

    HOUR

    HOUR(expression)

    | 9-N,'O"z-tNG

  • IFNULL

    | IFNULL

    |

    | IFNULL(expression,expression)

    | 9-HwVfHk?r*r7^9#| k?,gn7F$k (LkG"k) lgKO"M 0 ra7^9#

    | SELECT EMPNO, IFNULL(SALARY,A)| FROM DSN861A.EMP;

    226 DB2 UDB 5

  • INSERT

    | INSERT

    |

    | INSERT(expression1,expression2,expression3,expression4)

    | 9-}N0,0iU#C/&9Hjs0GJ1lPJj^;| s# 0,8z9Hjs0G"klg"INz-tb CLOB G"CFOJj^;s# 0,0| iU#C/&9Hjs0G"klg"INz-tb DBCLOB G"CFOJj^;s#

    | XtNkLO"GiH 4 V\Nz-tNG

  • INSERT

    | L4 O expression4 N950-G9#

    | =lJ0Nlg"kLN950-O"expression1 N950-K expression4 N950-| rC(?bNKJj^9#3Nlg"expression1 N950-K expression4 N950-| rC(?MO"VARCHAR NkLKD$FO 4000 r"VARGRAPHIC NkLKD$| FO 2000 r6(FOJj^;s#

    | kLNB]N95OJ

  • INSERT

    | c 2: 0NcO"F-9HNfVK>NF-9Hr^~9k}!r(7^7?#3NcO"+| O@ ( expression2) H7F 1 rHQ7F"F-9HN0K>NF-9Hr^~9k}!r(| 7F$^9#

    | SELECT CHAR(INSERT('INSERTING',1,A,'XX'),1A),| CHAR(INSERT('INSERTING',1,1,'XX'),1A),| CHAR(INSERT('INSERTING',1,2,'XX'),1A),| CHAR(INSERT('INSERTING',1,3,'XX'),1A)| FROM SYSIBM.SYSDUMMY1;

    | 3NcO"'XXINSERTIN'"'XXNSERTING'"'XXSERTING '"*hS| 'XXERTING ' ra7^9#

    | c 3: J

  • INTEGER ^?O INT

    | INTEGER ^?O INT

    |

    | INTEGER ( numeric-expression ) | INT string-expression

    | 9-

  • JULIAN_DAY

    | JULIAN_DAY

    |

    | JULIAN_DAY(expression)

    | 9-

  • LCASE ^?O LOWER

    | LCASE ^?O LOWER

    |

    | LCASE (expression) | LOWER

    | 9-

  • LEFT

    | LEFT

    |

    | LEFT(string,integer)

    | 9-

  • LEFT

    | XtN$:l+Nz-t,LkG"kD=-,"klg"kLbLkKJkD=-,"j^| 9#$:l+Nz-t,LkG"lP"kLOLkMHJj^9#

    | c 1: [9HQt ALPHA NM, 'ABCDEF' G"kH7^9#JHwNU!

  • LENGTH

    LENGTH

    LENGTH(expression)

    | 9-

  • LN

    | LN

    |

    | LN(expression)

    | 9-

  • LOCATE

    | LOCATE

    |

    | LOCATE(search-string,source-string ) | | ,start

    | 9-

  • LOCATE

    | 3NXtNkLOg0tG9# $:l+Nz-t,LkG"kD=-,"klg"kLbL| kKJkD=-,"j^9#$:l+Nz-t,LkG"lP"kLOLkMHJj^9#

    | LOCATE N\YKD$FO"249Z0N=bN9YFNTKD$F"RECEIVED sH SUBJECT s| r*r7"NOTE_TEXT sbN9Hjs0 'GOOD' N+OLVr*r7^9#

    | SELECT RECEIVED, SUBJECT, LOCATE('GOOD', NOTE_TEXT)| FROM IN_TRAY| WHERE LOCATE('GOOD', NOTE_TEXT) A;

    238 DB2 UDB 5

  • LOG

    | LOG

    |

    | LOG (expression) | LN

    | 9-

  • LOG10

    | LOG10

    |

    | LOG1A(expression)

    | 9-

  • LTRIM

    | LTRIM

    |

    | LTRIM(expression)

    | 9-

  • MICROSECOND

    MICROSECOND

    MICROSECOND(expression)

    | 9-N,'O"z-tNG

  • MIDNIGHT_SECONDS

    | MIDNIGHT_SECONDS

    |

    | MIDNIGHT_SECONDS(expression)

    | 9-

  • MINUTE

    MINUTE

    MINUTE(expression)

    | 9-N,'O"z-tNG

  • MOD

    | MOD

    |

    | MOD(expression,expression)

    | 9-ra7^9#

    | j>rW;9k?aKHQ5lkx0O!NH*jG9#

    | MOD(x,y) = x - (x/y) L y

    | 33G x/y O|;NkLr0tKZjNF?MG9#

    | z-tO"$:l+NH_~_tMG

  • MOD

    | J

  • MONTH

    MONTH

    MONTH(expression)

    | 9-N,'O"z-tNG

  • NULLIF

    NULLIF

    NULLIF(expression,expression)

    | 9-

  • POSSTR

    | POSSTR

    |

    | POSSTR(source-string,search-string)

    | 9-

  • POSSTR

    | ASCII G

  • POWER

    | POWER

    |

    | POWER(expression1,expression2)

    | 9-

  • QUARTER

    | QUARTER

    |

    | QUARTER(expression)

    | 9-|r(9 1 +i 4 NOON0tra7^9#| ?H(P"3NXtO"1 n"2 n"3 nN|UKX7FO 1 ra7^9#

    | z-tO"|U"?$`&9?sW""k$O|U^?O?$`&9?sWN-zJ8z9| Hjs0==GJ1lPJj^;s#8z9Hjs0==O CLOB G"CFOJj^;s#| ^?"B]N95O 255 P$HJ|K"kNG"3 ra7^9#

    | SELECT QUARTER('1996-A8-25')| FROM SYSIBM.SYSDUMMY1

    | c 2: 5sWk= DSN8610.PROJ rHQ7F"0t[9HQt QUART r"Wm8'/H| 'AD3111' Nh0Vf 70 ,Tol?/NM>|K_j7^9#h00;|UOs| ACENDATE K-?5lF$^9#

    | SELECT QUARTER(ACENDATE)| INTO :QUART| FROM DSN861A.PROJ| WHERE PROJNO = 'AD3111' AND ACTNO = 7A;

    | QUART O 4 K_j5l^9#

    252 DB2 UDB 5

  • RADIANS

    | RADIANS

    |

    | RADIANS(expression)

    | 9-

  • RAISE_ERROR

    | RAISE_ERROR

    |

    | RAISE_ERROR(sqlstate,diagnostic-string)

    | 9-

  • RAISE_ERROR

    | SELECT EMPNO,| CASE WHEN EDLEVEL < 16 THEN 'Diploma'| WHEN EDLEVEL < 18 THEN 'Graduate'| WHEN EDLEVEL < 21 THEN 'Post Graduate'| ELSE RAISE_ERROR('7AAA1',| 'EDUCLVL has a value greater than 2A')| END| FROM DSN861A.EMP;

    h4O H_~_Xt 255

  • RAND

    | RAND

    |

    | RAND( ) | expression

    | 9-

  • REAL

    | REAL

    |

    | REAL( numeric-expression ) | string-expression

    | 9-

  • REPEAT

    | REPEAT

    |

    | REPEAT(expression,integer)

    | 9-

  • REPEAT

    | c 1: 'abc' r 2 s+jV7F"'abcabc' rn.7^9#

    | SELECT REPEAT('abc',2)| FROM SYSIBM.SYSDUMMY1;

    | c 2: 'REPEAT THIS' H$&gr 5 sj9H7^9#CHAR XtrHQ7F"POr 60| P$HK)B7^9#

    | SELECT CHAR(REPEAT('REPEAT THIS',5), 6A)| FROM SYSIBM.SYSDUMMY1;

    | 3NcNkLO"'REPEAT THISREPEAT THISREPEAT THISREPEAT THISREPEAT| THIS ' G9#

    | c 3: J

  • REPLACE

    | REPLACE

    |

    | REPLACE(expression1,expression2,expression3)

    | 9-

  • REPLACE

    | $:l+Nz-t,LkG"kD=-,"klg"kLbLkKJkD=-,"j^9#$| :l+Nz-t,LkG"lP"kLOLkMHJj^9#

    | kLN5V?$WH CCSID OJ

  • RIGHT

    | RIGHT

    |

    | RIGHT(string,integer)

    | 9-

  • RIGHT

    | XtN$:l+Nz-t,LkG"kD=-,"klg"kLbLkKJkD=-,"j^| 9#$:l+Nz-t,LkG"lP"kLOLkMHJj^9#

    | c 1: [9HQt ALPHA NM, 'ABCDEF' G"kH7^9#J

  • ROUND

    | ROUND

    |

    | ROUND(expression1,expression2)

    | 9-

  • ROUND

    | 3NcOM 4.0"3.0"-3.0"*hS -4.0 ra7^9#(5NM 3.5 GO"5 ,!Nb$tMK| ]ail"iNM -3.5 GO"5 ,!Nc$iNtMK]ailF$k3HKmU7F/@5| $#)

    h4O H_~_Xt 265

  • ROWID

    | ROWID

    |

    | ROWID(expression)

    | 9-

  • RTRIM

    | RTRIM

    |

    | RTRIM(expression)

    | 9-

  • SECOND

    SECOND

    SECOND(expression)

    | 9-N,'O"z-tNG

  • SIGN

    | SIGN

    |

    | SIGN(expression)

    | 9-

  • SIN

    | SIN

    |

    | SIN(expression)

    | 9-

  • SINH

    | SINH

    |

    | SINH(expression)

    | 9-

  • SMALLINT

    | SMALLINT

    |

    | SMALLINT( numeric-expression ) | string-expression

    | 9-

  • SPACE

    | SPACE

    |

    | SPACE(expression)

    | 9-

  • SQRT

    | SQRT

    |

    | SQRT(expression1)

    | 9-

  • STRIP

    STRIP

    STRIP(expression ) ,BOTH ,B ,strip-character ,LEADING ,L ,TRAILING ,T

    | 9-&N$:l+iG"k+r(7^9#2 V\Nz-trXj7J$lgO"9Hjs0Nh,HvxN>&GVis/,o|5l^9#

    3 V\Nz-tO"o|5lk SBCS 8z^?O DBCS 8zr(91lN8zjtG9#GiNz-t, DBCS 0iU#C/&9Hjs0^?O DBCS lQ9Hjs0NlgO"3 V\Nz-tO1lN DBCS 8zr^`0iU#C/jtGJ1lPJj^;s#G