Upload
phungthuy
View
350
Download
0
Embed Size (px)
Citation preview
IBM i
DB2 for i SQL 7.1
IBM i
DB2 for i SQL 7.1
! 1805 K.
IBM i 7.1 ( 5770-SS1) RISC CISC
IBM iDB2 for i SQL Reference
7.1
1 2010.4
Copyright IBM Corporation 1998, 2010.
(DB2 for i SQL ) xiSQL . . . . . . . . . . . xi . . . . . . . . . . . . . xiSQL . . . xii . . . . . . . . . . . . . xii . . . . . . . . . . . . . xvSQL . . . . . . . . . xv
SQL PDF . . . . . . . xviIBM i 7.1 . . . . . . . . . . . xvii
1 . . . . . . . . . . . . . 1 . . . . . . . . 1 (SQL) . . . . . . . . . . . 3 . . . . . . . . . . . . . . . . 6 . . . . . . . . . . . . . . . . . . 7 . . . . . . . . . . . . . . . . 8 . . . . . . . . . . . . . . . . 8 . . . . . . . . . . . . . . . . 12 . . . . . . . . . . . . . . 13
. . . . . . . . . . . . . . . . 15 . . . . . . . . . . . 16 . . . . . . . . . . . . . . . . . 16 . . . . . . . . 17 . . . . . . . . . . . . . . . 18 . . . . . . . . . . . . . . 20 . . . . . 21 . . . . . . . . . . . . . . . 23 . . . . . . . . . . . . . . . . 23 . . . . 25 . . . . . . . . . . . . . . 26 . . . . . . . . . . 27 . . . . . . . . . . . . . . 29
. . . . . . . . . . . . . . 30 . . . . . . . . . . . 33 . . . . . . . . . . . . . 33 . . . . . . . . . . . . . 34 . . . . . . . . . . 34 . . . . . . . . . . . . . 34 . . . . . . . . . . . 35
. . . . . . . . . . . . . . . 36 . . . . . . . . . . . . . . . 37 . . . . . . . 39 CCSID . . . . . . . 41 CCSID . . . . . . . . . . 41
. . . . . . . . . . . . . . . 42 . . . . . . 45 . . . . . . . 46CONNECT ( 1) CONNECT (2). . . . . . . . . . . . . . . . . 48 . . . . . . . . . . . 48
. . . . 50 . . . . . . . 52
2 . . . . . . . . 55 . . . . . . . . . . . . . . . . . 55 . . . . . . . . . . . . . . . 56ID . . . . . . . . . . . . . . . . . 58
SQL ID . . . . . . . . . . . . . . . 58 ID . . . . . . . . . . . . . 59 ID . . . . . . . . . . . . . . 59
. . . . . . . . . . . . . . . 60SQL . . . . . . . . . . . . . . 69 . . . . . . . 69SQL : . . . . 72
. . . . . . . . . . . . . . . . . 73 ID . . . . . . . . . . . . 75 . . . . . . . . . . . . . 76
NULL . . . . . . . . . . . . . . . 78 . . . . . . . . . . . . . . . . 78 . . . . . . . . . . . . 81 . . . . . . . . . . 82 . . . . . . . . 83 . . . . . . 842 . . . . . . . . . . . . 85 . . . . . . . . . . 86/ . . . . . . . . . . . . 88XML . . . . . . . . . . . . . . 95 . . . . . . . . . . . 96 ID . . . . . . . . . . . . . . 97 . . . . . . . . . . 98
. . . . . . . 100 . . . . . . . . 102 . . . . . . . . . . . 106 . . . . . . . . . . . . 107 . . . . . . . . . . 110 . . . . . . . . . . . . 113XML . . . . . . . . . . . 114 . . . . . . . . 115 ID . . . . . . . . . . . 117 . . . . . . . . . 117 . . . . . . . . . 119LOB . . . . . . . 119 . . . . . . . . . . . . . . 119 . . . . . . . . . . . 120/ . . . . . . . . . . . 123XML . . . . . . . . . . . . . 123 . . . . . . . . . 123 ID . . . . . . . . . . . . 124 . . . . . . . . . . . 124
. . . . . . 125 130
Copyright IBM Corp. 1998, 2010 iii
||
||
||
||
||
. . . . . . . . . . . . . . . . 132 . . . . . . . . . . . . . . 13210 . . . . . . . . . . . . . 132 . . . . . . . . . . . . 13210 . . . . . . . . . . 133 . . . . . . . . . . 133 . . . . . . 1342 . . . . . . . . . . 136/ . . . . . . . . . . . . 136 . . . . . . . . . . . . . . . 137 . . . . . . . . . . . . . 138
. . . . . . . . . . . . . 140CURRENT CLIENT_ACCTNG . . . . . . . 140CURRENT CLIENT_APPLNAME . . . . . . 141CURRENT CLIENT_PROGRAMID . . . . . 141CURRENT CLIENT_USERID . . . . . . . 142CURRENT CLIENT_WRKSTNNAME. . . . . 142CURRENT DATE . . . . . . . . . . . 143CURRENT DEBUG MODE . . . . . . . . 143CURRENT DECFLOAT ROUNDING MODE . . 144CURRENT DEGREE . . . . . . . . . . 145CURRENT IMPLICIT XMLPARSE OPTION . . 146CURRENT PATH . . . . . . . . . . . 147CURRENT SCHEMA . . . . . . . . . . 148CURRENT SERVER . . . . . . . . . . 148CURRENT TIME . . . . . . . . . . . 149CURRENT TIMESTAMP . . . . . . . . . 149CURRENT TIMEZONE . . . . . . . . . 150SESSION_USER . . . . . . . . . . . 150SYSTEM_USER. . . . . . . . . . . . 150USER . . . . . . . . . . . . . . . 150
. . . . . . . . . . . . . . . . 152 . . . . . . . . . . . . . . 152 . . . . . . . . . . . . . . . 152 . . . . 155 . . . . . . . . . 157 . . . 158
. . . . . . . . . . . . 159 . . . . . . . . . . . . 159 . . . . . . . . . 161 SQL . . . . . . . . . . 165LOB XML . . . . . . . 165XML . . . . . . . . . . . 167 . . . . . . . . . . . . . 168 . . . . . . . . . . . . 169
. . . . . . . . . . . . . . . . 171 . . . . . . . . . . . . 171 . . . . . . . . . . . . 172 . . . . . . . . . . . . . . 173 . . . . . . . . . . . . . 175 . . . . . . . . . 177
. . . . . . . . . . . . . . . . . 179 . . . . . . . . . 180 . . . . . . . . . 180 . . . . . . . . . . . . . 185 . . . . . . . . . . . . 188
/ . . . . . . . 188SQL / . . . . . 189 . . . . . . . . . . . . 194ARRAY . . . . . . . . 195ARRAY . . . . . . . . 196CASE . . . . . . . . . . . . . . 197CAST . . . . . . . . . . . . 200OLAP . . . . . . . . . . . . 205ROW CHANGE . . . . . . . . . . 209 . . . . . . . . . . . . 210XMLCAST . . . . . . . . . . . 215
. . . . . . . . . . . . . . . . 217 . . . . . . . . . . . . . . 218 . . . . . . . . . . . . 220BETWEEN . . . . . . . . . . . 223DISTINCT . . . . . . . . . . . . 224EXISTS . . . . . . . . . . . . 226IN . . . . . . . . . . . . . . 227LIKE . . . . . . . . . . . . . 229NULL . . . . . . . . . . . . . 234
. . . . . . . . . . . . . . . 235
3 . . . . . . . . 237 . . . . . . . . . . . . . . . 247
ARRAY_AGG . . . . . . . . . . . . 248AVG . . . . . . . . . . . . . . . 250COUNT . . . . . . . . . . . . . . 252COUNT_BIG. . . . . . . . . . . . . 253GROUPING . . . . . . . . . . . . . 254MAX . . . . . . . . . . . . . . . 256MIN . . . . . . . . . . . . . . . 258STDDEV_POP STDDEV . . . . . . 260STDDEV_SAMP . . . . . . . . . . . 261SUM . . . . . . . . . . . . . . . 262VAR_POP VARIANCE VAR . . 263VARIANCE_SAMP VAR_SAMP. . . . 264XMLAGG. . . . . . . . . . . . . . 265XMLGROUP . . . . . . . . . . . . . 267
. . . . . . . . . . . . . 270ABS . . . . . . . . . . . . . . . 271ACOS . . . . . . . . . . . . . . . 272ADD_MONTHS . . . . . . . . . . . . 273ANTILOG . . . . . . . . . . . . . 275ASCII . . . . . . . . . . . . . . . 276ASIN . . . . . . . . . . . . . . . 277ATAN . . . . . . . . . . . . . . . 278ATANH . . . . . . . . . . . . . . 279ATAN2 . . . . . . . . . . . . . . 280BIGINT . . . . . . . . . . . . . . 281BINARY . . . . . . . . . . . . . . 283BITANDBITANDNOTBITORBITXOR BITNOT . . . . . . . . . . . . 284BIT_LENGTH . . . . . . . . . . . . 286BLOB . . . . . . . . . . . . . . . 287CARDINALITY . . . . . . . . . . . . 289CEILING . . . . . . . . . . . . . . 290
iv IBM i: DB2 for i SQL
||
||
||
||||
||
||
||||
|||
||
CHAR . . . . . . . . . . . . . . . 292CHARACTER_LENGTH . . . . . . . . . 298CHR . . . . . . . . . . . . . . . 299CLOB . . . . . . . . . . . . . . . 300COALESCE . . . . . . . . . . . . . 305COMPARE_DECFLOAT . . . . . . . . . 306CONCAT . . . . . . . . . . . . . . 308CONTAINS . . . . . . . . . . . . . 309COS . . . . . . . . . . . . . . . 312COSH . . . . . . . . . . . . . . . 313COT . . . . . . . . . . . . . . . 314CURDATE . . . . . . . . . . . . . 315CURTIME . . . . . . . . . . . . . 316DATABASE . . . . . . . . . . . . . 317DATAPARTITIONNAME. . . . . . . . . 318DATAPARTITIONNUM . . . . . . . . . 319DATE . . . . . . . . . . . . . . . 320DAY . . . . . . . . . . . . . . . 322DAYNAME . . . . . . . . . . . . . 323DAYOFMONTH . . . . . . . . . . . 324DAYOFWEEK . . . . . . . . . . . . 325DAYOFWEEK_ISO . . . . . . . . . . 326DAYOFYEAR . . . . . . . . . . . . 327DAYS . . . . . . . . . . . . . . . 328DBCLOB . . . . . . . . . . . . . . 329DBPARTITIONNAME . . . . . . . . . . 335DBPARTITIONNUM . . . . . . . . . . 336DECFLOAT . . . . . . . . . . . . . 337DECFLOAT_SORTKEY . . . . . . . . . 339DECIMAL DEC . . . . . . . . . 340DECRYPT_BITDECRYPT_BINARYDECRYPT_CHAR DECRYPT_DB . . . 343DEGREES . . . . . . . . . . . . . 347DIFFERENCE . . . . . . . . . . . . 348DIGITS . . . . . . . . . . . . . . 349DLCOMMENT . . . . . . . . . . . . 350DLLINKTYPE . . . . . . . . . . . . 351DLURLCOMPLETE . . . . . . . . . . 352DLURLPATH . . . . . . . . . . . . 353DLURLPATHONLY . . . . . . . . . . 354DLURLSCHEME . . . . . . . . . . . 355DLURLSERVER . . . . . . . . . . . 356DLVALUE . . . . . . . . . . . . . 357DOUBLE_PRECISION DOUBLE . . . 359ENCRYPT_AES . . . . . . . . . . . . 361ENCRYPT_RC2 . . . . . . . . . . . . 364ENCRYPT_TDES . . . . . . . . . . . 367EXP . . . . . . . . . . . . . . . 370EXTRACT . . . . . . . . . . . . . 371FLOAT . . . . . . . . . . . . . . 374FLOOR . . . . . . . . . . . . . . 375GENERATE_UNIQUE . . . . . . . . . . 376GET_BLOB_FROM_FILE. . . . . . . . . 378GET_CLOB_FROM_FILE. . . . . . . . . 379GET_DBCLOB_FROM_FILE . . . . . . . 380GET_XML_FILE . . . . . . . . . . . 381
GETHINT. . . . . . . . . . . . . . 382GRAPHIC. . . . . . . . . . . . . . 383HASH . . . . . . . . . . . . . . . 388HASHED_VALUE . . . . . . . . . . . 389HEX . . . . . . . . . . . . . . . 390HOUR . . . . . . . . . . . . . . . 392IDENTITY_VAL_LOCAL. . . . . . . . . 393IFNULL . . . . . . . . . . . . . . 398INSERT . . . . . . . . . . . . . . 399INTEGER INT . . . . . . . . . 402JULIAN_DAY . . . . . . . . . . . . 404LAND . . . . . . . . . . . . . . . 405LAST_DAY . . . . . . . . . . . . . 406LCASE . . . . . . . . . . . . . . 407LEFT . . . . . . . . . . . . . . . 408LENGTH . . . . . . . . . . . . . . 410LN . . . . . . . . . . . . . . . . 412LNOT . . . . . . . . . . . . . . . 413LOCATE . . . . . . . . . . . . . . 414LOG10. . . . . . . . . . . . . . . 416LOR . . . . . . . . . . . . . . . 417LOWER . . . . . . . . . . . . . . 418LTRIM . . . . . . . . . . . . . . 419MAX . . . . . . . . . . . . . . . 420MAX_CARDINALITY. . . . . . . . . . 421MICROSECOND . . . . . . . . . . . 422MIDNIGHT_SECONDS . . . . . . . . . 423MIN . . . . . . . . . . . . . . . 424MINUTE . . . . . . . . . . . . . . 425MOD . . . . . . . . . . . . . . . 426MONTH . . . . . . . . . . . . . . 428MONTHNAME . . . . . . . . . . . . 429MONTHS_BETWEEN . . . . . . . . . . 430MQREAD. . . . . . . . . . . . . . 432MQREADCLOB. . . . . . . . . . . . 434MQRECEIVE . . . . . . . . . . . . 436MQRECEIVECLOB . . . . . . . . . . 438MQSEND . . . . . . . . . . . . . . 440MULTIPLY_ALT . . . . . . . . . . . 442NEXT_DAY . . . . . . . . . . . . . 444NORMALIZE_DECFLOAT . . . . . . . . 446NOW . . . . . . . . . . . . . . . 447NULLIF . . . . . . . . . . . . . . 448OCTET_LENGTH . . . . . . . . . . . 449PI . . . . . . . . . . . . . . . . 450POSITION . . . . . . . . . . . . . 451POSSTR . . . . . . . . . . . . . . 453POWER . . . . . . . . . . . . . . 455QUANTIZE . . . . . . . . . . . . . 456QUARTER . . . . . . . . . . . . . 458RADIANS . . . . . . . . . . . . . 459RAISE_ERROR . . . . . . . . . . . . 460RAND . . . . . . . . . . . . . . . 461REAL . . . . . . . . . . . . . . . 462REPEAT . . . . . . . . . . . . . . 464REPLACE . . . . . . . . . . . . . 466
v
||||||||
||
||||||||||
RID. . . . . . . . . . . . . . . . 468RIGHT. . . . . . . . . . . . . . . 469ROUND . . . . . . . . . . . . . . 471ROUND_TIMESTAMP . . . . . . . . . 473ROWID . . . . . . . . . . . . . . 476RRN . . . . . . . . . . . . . . . 477RTRIM . . . . . . . . . . . . . . 478SCORE . . . . . . . . . . . . . . 480SECOND . . . . . . . . . . . . . . 483SIGN . . . . . . . . . . . . . . . 484SIN . . . . . . . . . . . . . . . . 485SINH . . . . . . . . . . . . . . . 486SMALLINT . . . . . . . . . . . . . 487SOUNDEX . . . . . . . . . . . . . 489SPACE . . . . . . . . . . . . . . 490SQRT . . . . . . . . . . . . . . . 491STRIP . . . . . . . . . . . . . . . 492SUBSTR . . . . . . . . . . . . . . 493SUBSTRING . . . . . . . . . . . . . 496TAN . . . . . . . . . . . . . . . 498TANH . . . . . . . . . . . . . . . 499TIME . . . . . . . . . . . . . . . 500TIMESTAMP . . . . . . . . . . . . 501TIMESTAMP_FORMAT . . . . . . . . . 503TIMESTAMP_ISO . . . . . . . . . . . 506TIMESTAMPDIFF . . . . . . . . . . . 507TOTALORDER . . . . . . . . . . . . 510TRANSLATE . . . . . . . . . . . . 511TRIM . . . . . . . . . . . . . . . 514TRIM_ARRAY . . . . . . . . . . . . 516TRUNCATE TRUNC . . . . . . . 517TRUNC_TIMESTAMP. . . . . . . . . . 519UCASE . . . . . . . . . . . . . . 520UPPER . . . . . . . . . . . . . . 521VALUE . . . . . . . . . . . . . . 522VARBINARY . . . . . . . . . . . . 523VARCHAR . . . . . . . . . . . . . 524VARCHAR_FORMAT . . . . . . . . . . 530VARGRAPHIC . . . . . . . . . . . . 533WEEK . . . . . . . . . . . . . . . 539WEEK_ISO . . . . . . . . . . . . . 540XMLATTRIBUTES. . . . . . . . . . . 541XMLCOMMENT . . . . . . . . . . . 543XMLCONCAT . . . . . . . . . . . . 544XMLDOCUMENT . . . . . . . . . . . 546XMLELEMENT . . . . . . . . . . . . 547XMLFOREST . . . . . . . . . . . . 551XMLNAMESPACES . . . . . . . . . . 554XMLPARSE . . . . . . . . . . . . . 557XMLPI . . . . . . . . . . . . . . 559XMLROW . . . . . . . . . . . . . 560XMLSERIALIZE . . . . . . . . . . . 562XMLTEXT . . . . . . . . . . . . . 565XMLVALIDATE . . . . . . . . . . . 566XOR . . . . . . . . . . . . . . . 571XSLTRANSFORM . . . . . . . . . . . 572
YEAR . . . . . . . . . . . . . . . 576ZONED . . . . . . . . . . . . . . 577
. . . . . . . . . . . . . . . . 580MQREADALL . . . . . . . . . . . . 581MQREADALLCLOB . . . . . . . . . . 583MQRECEIVEALL . . . . . . . . . . . 585MQRECEIVEALLCLOB . . . . . . . . . 588
4 . . . . . . . 591XDBDECOMPXML . . . . . . . . . . . 592XSR_ADDSCHEMADOC . . . . . . . . . . 594XSR_COMPLETE . . . . . . . . . . . . 596XSR_REGISTER . . . . . . . . . . . . 598XSR_REMOVE . . . . . . . . . . . . . 600
5 . . . . . . . . . . . . 603 . . . . . . . . . . . . . . . . 603 . . . . . . . . . . . . . . . . 604
SELECT . . . . . . . . . . . . 605FROM . . . . . . . . . . . . . 609WHERE . . . . . . . . . . . . 619GROUP-BY . . . . . . . . . . . 620HAVING . . . . . . . . . . . . 634ORDER BY . . . . . . . . . . . 635FETCH FIRST . . . . . . . . . . 638 . . . . . . . . . . . . . 639
. . . . . . . . . . . . . . . . 641 . . . . . . . . . . . . . 645
. . . . . . . . . . . 647 . . . . . . . . . . . . . . 648UPDATE . . . . . . . . . . . . 656READ-ONLY . . . . . . . . . . . 657OPTIMIZE . . . . . . . . . . . 658ISOLATION . . . . . . . . . . . 659concurrent-access-resolution-clause . . . . . . 661SELECT . . . . . . . 662
6 . . . . . . . 665SQL . . . . . . 672 . . . . . . . . . . . . 673 . . . . . . . . . . . 674select . . . . 674select . . . . 675 . . . . . . . . . . . . 675
SQL . . . . . . . . . . . . . 675 . . . . . . . . . . 676SQL . . . . . . . . . . . . 677ALLOCATE CURSOR . . . . . . . . . . 679ALLOCATE DESCRIPTOR . . . . . . . . . 681ALTER FUNCTION () . . . . . . 683ALTER FUNCTION () . . . . . . . . 689ALTER FUNCTION (SQL ). . . . . . 695ALTER FUNCTION (SQL ) . . . . . . . . 702ALTER PROCEDURE () . . . . . . . . 710
vi IBM i: DB2 for i SQL
||
||||||||||||||||||||||||||
||
||||||||||
||||||||||||
||
||
ALTER PROCEDURE (SQL) . . . . . . . . 716ALTER SEQUENCE . . . . . . . . . . . 726ALTER TABLE . . . . . . . . . . . . . 732ASSOCIATE LOCATORS . . . . . . . . . 770BEGIN DECLARE SECTION . . . . . . . . 776CALL . . . . . . . . . . . . . . . . 778CLOSE . . . . . . . . . . . . . . . 787COMMENT . . . . . . . . . . . . . . 789COMMIT . . . . . . . . . . . . . . . 800CONNECT ( 1) . . . . . . . . . . 804CONNECT ( 2) . . . . . . . . . . 810CREATE ALIAS . . . . . . . . . . . . 816CREATE FUNCTION . . . . . . . . . . . 821CREATE FUNCTION () . . . . . 825CREATE FUNCTION () . . . . . . . . 847CREATE FUNCTION () . . . . . . . 867CREATE FUNCTION (SQL ) . . . . . 878CREATE FUNCTION (SQL ) . . . . . . . 890CREATE INDEX . . . . . . . . . . . . 902CREATE PROCEDURE . . . . . . . . . . 910CREATE PROCEDURE () . . . . . . . . 912CREATE PROCEDURE (SQL) . . . . . . . . 930CREATE SCHEMA . . . . . . . . . . . 944CREATE SEQUENCE . . . . . . . . . . . 950CREATE TABLE . . . . . . . . . . . . 958CREATE TRIGGER . . . . . . . . . . . 1010CREATE TYPE () . . . . . . . . . . 1027CREATE TYPE () . . . . . . . . . . 1032CREATE VARIABLE . . . . . . . . . . 1040CREATE VIEW . . . . . . . . . . . . 1046DEALLOCATE DESCRIPTOR. . . . . . . . 1056DECLARE CURSOR . . . . . . . . . . . 1057DECLARE GLOBAL TEMPORARY TABLE . . . 1068DECLARE PROCEDURE . . . . . . . . . 1085DECLARE STATEMENT . . . . . . . . . 1096DECLARE VARIABLE . . . . . . . . . . 1098DELETE . . . . . . . . . . . . . . . 1101DESCRIBE . . . . . . . . . . . . . . 1108DESCRIBE CURSOR . . . . . . . . . . 1114DESCRIBE INPUT . . . . . . . . . . . 1117DESCRIBE PROCEDURE . . . . . . . . . 1121DESCRIBE TABLE . . . . . . . . . . . 1128DISCONNECT . . . . . . . . . . . . . 1133DROP . . . . . . . . . . . . . . . 1136END DECLARE SECTION. . . . . . . . . 1149EXECUTE . . . . . . . . . . . . . . 1150EXECUTE IMMEDIATE . . . . . . . . . 1155FETCH . . . . . . . . . . . . . . . 1158FREE LOCATOR . . . . . . . . . . . . 1166GET DESCRIPTOR . . . . . . . . . . . 1167GET DIAGNOSTICS . . . . . . . . . . . 1180GRANT () . . . 1206GRANT () . . . . . . . 1215GRANT () . . . . . . . . . 1218GRANT () . . . . . . . . . 1221GRANT () . . . . . . . 1224
GRANT () . . . . . . . . . . 1230GRANT (XML ) . . . . . . . 1233HOLD LOCATOR . . . . . . . . . . . 1236INCLUDE . . . . . . . . . . . . . . 1238INSERT . . . . . . . . . . . . . . . 1240LABEL . . . . . . . . . . . . . . . 1252LOCK TABLE . . . . . . . . . . . . . 1262MERGE . . . . . . . . . . . . . . . 1264OPEN . . . . . . . . . . . . . . . 1277PREPARE . . . . . . . . . . . . . . 1284REFRESH TABLE . . . . . . . . . . . 1301RELEASE () . . . . . . . . . . . . 1303RELEASE SAVEPOINT . . . . . . . . . . 1306RENAME . . . . . . . . . . . . . . 1307REVOKE () . . . 1310REVOKE () . . . . . . . 1318REVOKE () . . . . . . . . 1320REVOKE () . . . . . . . . 1322REVOKE () . . . . . . . 1324REVOKE () . . . . . . . . . . 1328REVOKE (XML ) . . . . . . . 1330ROLLBACK . . . . . . . . . . . . . 1332SAVEPOINT . . . . . . . . . . . . . 1337SELECT . . . . . . . . . . . . . . . 1340SELECT INTO. . . . . . . . . . . . . 1341SET CONNECTION . . . . . . . . . . . 1344SET CURRENT DEBUG MODE . . . . . . . 1348SET CURRENT DECFLOAT ROUNDING MODE 1350SET CURRENT DEGREE . . . . . . . . . 1353SET CURRENT IMPLICIT XMLPARSE OPTION 1356SET DESCRIPTOR . . . . . . . . . . . 1358SET ENCRYPTION PASSWORD. . . . . . . 1363SET OPTION . . . . . . . . . . . . . 1366SET PATH . . . . . . . . . . . . . . 1387SET RESULT SETS . . . . . . . . . . . 1390SET SCHEMA . . . . . . . . . . . . . 1393SET SESSION AUTHORIZATION . . . . . . 1396SET TRANSACTION . . . . . . . . . . 1399SET . . . . . . . . . . . . . 1403SET . . . . . . . . . . . . . . 1405SIGNAL . . . . . . . . . . . . . . . 1408UPDATE . . . . . . . . . . . . . . 1412VALUES . . . . . . . . . . . . . . 1422VALUES INTO . . . . . . . . . . . . 1424WHENEVER . . . . . . . . . . . . . 1427
7 SQL 1429SQL . . . . . 1431SQL . . . . . . . . . . . 1433SQL . . . . . . . . . . 1434SQL . . . . . . . . . . . 1435 . . . . . . . . 1436SQL . . . . 1437 . . . . . . . . . 1441CALL . . . . . . . . . . 1444
vii
||
||
||
||
||
||
||
||
||
||
||
(CASE) . . . . . . . 1446 (compound) . . . . . . 1448FOR . . . . . . . . . . 1458GET DIAGNOSTICS . . . . . 1460GOTO . . . . . . . . . . 1468IF . . . . . . . . . . . 1470ITERATE . . . . . . . . . 1472 (LEAVE) . . . . . . . 1474 (LOOP) . . . . . . . 1476 (REPEAT) . . . . . . . 1478 (RESIGNAL) . . . . . 1480 (RETURN) . . . . . . 1485 (SIGNAL) . . . . . . . 1488WHILE . . . . . . . . . 1493
A. SQL . . . . . . . . 1495
B. SQL 1503SQL . . . 1504 SQL . . . . . . . . . . . 1507 . . . . . . . . . . . . . . 1510
CONNECT ( 1) CONNECT (2) . . . . . . . . . . . . 1513
C. SQLCA (SQL ) . . . . 1515 . . . . . . . . . . . 1515INCLUDE SQLCA . . . . . . . . . 1521
D. SQLDA (SQL ) 1525SQLDA . . . . . 1527SQLVAR . . . 1530SQLTYPE SQLLEN . . . . . . . . . . 1534SQLDATA SQLNAME CCSID 1537 SQLTYPES . . . . 1537INCLUDE SQLDA . . . . . . . . . 1538
E. CCSID . . . . . . . . 1543
F. DB2 for i . . . . . . . . . . . . . . . . 1561IBM i . . . . . . 1565
SYSCATALOGS . . . . . . . . . . . 1567SYSCHKCST . . . . . . . . . . . . 1568SYSCOLUMNS . . . . . . . . . . . 1569SYSCOLUMNSTAT . . . . . . . . . . 1577SYSCST . . . . . . . . . . . . . . 1580SYSCSTCOL . . . . . . . . . . . . 1582SYSCSTDEP . . . . . . . . . . . . 1583SYSFIELDS. . . . . . . . . . . . . 1584SYSFUNCS . . . . . . . . . . . . . 1589SYSINDEXES . . . . . . . . . . . . 1594SYSINDEXSTAT . . . . . . . . . . . 1596SYSJARCONTENTS . . . . . . . . . . 1602SYSJAROBJECTS. . . . . . . . . . . 1603
SYSKEYCST . . . . . . . . . . . . 1604SYSKEYS . . . . . . . . . . . . . 1605SYSMQTSTAT. . . . . . . . . . . . 1606SYSPACKAGE. . . . . . . . . . . . 1610SYSPACKAGESTAT . . . . . . . . . . 1612SYSPARMS. . . . . . . . . . . . . 1617SYSPARTITIONINDEXES . . . . . . . . 1621SYSPARTITIONINDEXSTAT . . . . . . . 1628SYSPARTITIONMQTS . . . . . . . . . 1633SYSPARTITIONSTAT . . . . . . . . . 1637SYSPROCS . . . . . . . . . . . . . 1640SYSPROGRAMSTAT . . . . . . . . . 1644SYSREFCST . . . . . . . . . . . . 1652SYSROUTINEDEP . . . . . . . . . . 1653SYSROUTINES . . . . . . . . . . . 1655SYSSCHEMAS. . . . . . . . . . . . 1661SYSSEQUENCES . . . . . . . . . . . 1662SYSTABLEDEP . . . . . . . . . . . 1664SYSTABLEINDEXSTAT . . . . . . . . 1665SYSTABLES . . . . . . . . . . . . 1671SYSTABLESTAT . . . . . . . . . . . 1674SYSTRIGCOL . . . . . . . . . . . . 1677SYSTRIGDEP . . . . . . . . . . . . 1678SYSTRIGGERS . . . . . . . . . . . 1679SYSTRIGUPD . . . . . . . . . . . . 1683SYSTYPES . . . . . . . . . . . . . 1684SYSVARIABLEDEP . . . . . . . . . . 1690SYSVARIABLES . . . . . . . . . . . 1691SYSVIEWDEP . . . . . . . . . . . . 1697SYSVIEWS . . . . . . . . . . . . . 1699XSRANNOTATIONINFO . . . . . . . . 1701XSROBJECTCOMPONENTS . . . . . . . 1702XSROBJECTHIERARCHIES . . . . . . . 1703XSROBJECTS . . . . . . . . . . . . 1704
ODBC JDBC . . . 1705SQLCOLPRIVILEGES . . . . . . . . . 1706SQLCOLUMNS . . . . . . . . . . . 1707SQLFOREIGNKEYS . . . . . . . . . . 1713SQLFUNCTIONCOLS . . . . . . . . . 1714SQLFUNCTIONS . . . . . . . . . . . 1721SQLPRIMARYKEYS . . . . . . . . . . 1722SQLPROCEDURECOLS . . . . . . . . . 1723SQLPROCEDURES . . . . . . . . . . 1730SQLSCHEMAS . . . . . . . . . . . 1731SQLSPECIALCOLUMNS . . . . . . . . 1732SQLSTATISTICS . . . . . . . . . . . 1735SQLTABLEPRIVILEGES . . . . . . . . 1736SQLTABLES . . . . . . . . . . . . 1737SQLTYPEINFO . . . . . . . . . . . 1738SQLUDTS . . . . . . . . . . . . . 1745
ANS ISO . . . . . 1748 . . . . . . . . . . . . . . . 1749CHARACTER_SETS . . . . . . . . . . 1750CHECK_CONSTRAINTS . . . . . . . . 1751COLUMNS . . . . . . . . . . . . . 1752INFORMATION_SCHEMA_CATALOG_NAME 1756
viii IBM i: DB2 for i SQL
||
||||
||||||||
PARAMETERS . . . . . . . . . . . 1757REFERENTIAL_CONSTRAINTS . . . . . . 1761ROUTINES . . . . . . . . . . . . . 1762SCHEMATA . . . . . . . . . . . . 1771SQL_FEATURES . . . . . . . . . . . 1772SQL_LANGUAGES . . . . . . . . . . 1773SQL_SIZING . . . . . . . . . . . . 1774TABLE_CONSTRAINTS . . . . . . . . 1775TABLES . . . . . . . . . . . . . . 1776USER_DEFINED_TYPES . . . . . . . . 1777VIEWS . . . . . . . . . . . . . . 1781
G. . . . 1783: . . . . . . . . . 1785 . . . . . . . . . 1786: CONTAINS SCORE . . . 1787XML . . . . . . . . . . . 1789
XML . . . . . . . . 1789
: XPath . . . . . . . . 1791 . . . . . . . 1793
H. . . . . . . . . 1795
I. 1797 . . . . . . . . . . . 1797 . . . . . . . . . . . . . . . 1798
J. . . . . . . . . . . 1801
K. . . . . . . . . . 1805 . . . . 1807 . . . . . . . . . . . . . . . . 1807 . . . . . . . . . . . . . . 1807
. . . . . . . . . . . . . . . 1809
ix
||
x IBM i: DB2 for i SQL
(DB2 for i SQL )
SQL DB2 for IBM i (SQL) SQL
DB2 for i 7.1 IBM SQL
v ISO () 9075: 2003 SQL - v ISO () 9075-3: 2003 SQL - 3 : (SQL/CLI)
v ISO () 9075-4: 2003 SQL - 4 : (SQL/PSM)
v ISO () 9075-14: 2006 SQL - 14 : XML (SQL/XML)
v ANSI () X3.135-2003 SQL - v ANSI () X3.1353: 2003 SQL - 3 : (SQL/CLI)
v ANSI () X3.1354: 2003 SQL - 4 : (SQL/PSM)
v XML (http://www.w3.org/XML/Schema)
1.
SQL
SQL SQL (CRTSQLxxx) SQLCURRULE(*STD) SET OPTIONSQLCURRULE (CRTSQLxxx SQL )
SQL SQL (RUNSQLSTM) SQLCURRULE(*STD) (RUNSQLSTM SQL )
Copyright IBM Corp. 1998, 2010 xi
|
|
|
|
1. ()
SQL
(CLI)
SQL_ATTR_HEX_LITERALS (CLI SQL (ODBC))
IBM Developer Kit for Java JDBC SQLJ
16 (JDBC SQLJ IBMDeveloper Kit for Java)
IBM i Access Family ODBC ODBC
ODBC 16 (ODBC System i Access)
IBM i Access Family OLE DB
Provider OLE DB
16 (OLE DB System i Access )
IBM i Access FamilyADO .NET ADO .NET
HexParserOption(ADO .NET System i Access )
IBM Toolbox for Java JDBC
JDBC SQL 16 (JDBC System i Access)(IBM Toolbox for Java IBMToolbox for Java)
SQL SQL
v SQL v SQL SQL 1
CALL QSYS.CREATE_SQL_SAMPLE ('')
v SQL v COBOL (COBOL ) APOST APOSTSQL SQL (')
v *HEX
(DB2 for i SQL )
xii IBM i: DB2 for i SQL
v
| |
v ()
v
v
1 1
(DB2 for i SQL )
(DB2 for i SQL ) xiii
v
,
v (: FROM)()
v
v
v 1 parameter-block parameter-block
parameter-block
parameter-block:
parameter1parameter2 parameter3
parameter4
(DB2 for i SQL )
xiv IBM i: DB2 for i SQL
SQL
v v v
X' 0E' X' 0F' sbcs-string 1 dbcs-string 2 EBCDIC X' 427D DBCS EBCDIC X' 42C7 DBCS G
Unicode
Unicode UTF-16 U+n (n 4 6 16 ) 16 4 UTF-16
U+00001 U+0012 U+0123 U+1234 U+12345 U+123456
SQL IBM
(DB2 for i SQL )
(DB2 for i SQL ) xv
|
IBM
http://www.ibm.com/able
Accessibility Center SQL 2
v System i NavigatorIBM i DB2 for i Windows Windows
v SQL Windows (IBM ) IBM Accessibility Center
IBM SQLInformation Center SQL SQL 2
v SQL Query Manager
SQL Query Manager SQL IBMDB2 Query Manager and SQL Development Kit for i SQL Query Manager SQL
Query
v SQL
SQL SQL System i 1 System i NavigatorInformation Center
SQL PDF PDF
PDF SQL
1. PDF ()
SQL
xvi IBM i: DB2 for i SQL
http://www.ibm.com/ablehttp://www.ibm.com/ablehttp://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/topic/rzatc/sc415212.pdf
2. PDF
3. PDF
4.
Adobe Reader
PDF Adobe Reader Adobe Web
(http://get.adobe.com/reader/)
IBM i 7.1 IBM i 7.1
v 3 v XML v v SQL v XML v MQ Series v BITANDBITANDNOTBITORBITXOR BITNOT v v SQL v CALL v CREATE REPLACE v ALTER TABLE ADD COLUMN BEFOREv v ID v INCLUDEv MERGE v SQL v
Information Center
v v
SQL
(DB2 for i SQL ) xvii
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
http://get.adobe.com/reader/http://get.adobe.com/reader/
SQL
xviii IBM i: DB2 for i SQL
1
(SQL)
System i 3
System i 1 System i System i i5/OS Information Center
System i ADDRDBDIRE (RDB ) System i
System i 1 1 System i 1
Copyright IBM Corp. 1998, 2010 1
|
|
|
|
|
|
v QTEMP
v
v
v 1
v
System i 1 System i System i System i i5/OS Information Center
ADDRDBDIRE (RDB ) System i Navigator
System i System i ADDRDBDIRE (RDB ) System i
System i DB2 for i
2 IBM i: DB2 for i SQL
(SQL) (SQL) 1
SQL SQL
SQL SQL SQL SQL SQL SQL
SQL
SQL () (COBOLC Java )
SQL () SQL SQL
SQL SQL
SQL
SQL SQL SQL SQL SQL SQL PREPARE EXECUTE IMMEDIATE PREPAREDECLARECURSORDESCRIBE EXECUTE SQL
(SQL)
1 3
REXX SQL SQL SQL (CLI) SQL SQL
SQL
SQL QSQPRCED API SQL SQL API SQL API SQL i5/OS Information Center API
SQL
SQL SQL SQL SQL
DB2 for i STRSQL STRQM Systemi Navigator SQL SQL SQL Query Manager
SQL Open DatabaseConnectivity
DB2 (CLI) SQL DB2 CLI ILEDB2 for i SQL CLI Microsoft ODBC Open Database Connectivity (ODBC) SQL SQL
DB2 CLI SQL
v CLI DB2
(SQL)
4 IBM i: DB2 for i SQL
http://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/topic/rzatc/sc415212.pdfhttp://publib.boulder.ibm.com/infocenter/iseries/v6r1m0/topic/rzatc/sc415212.pdf
v CLI
DB2 UDB for iSeries SQL (ODBC)
Java DataBase Connectivity (JDBC) SQL forJava (SQLJ)
DB2 for i 2 Java APIJavaDatabase Connectivity (JDBC) embedded SQL for Java (SQLJ) DB2 Java
JDBC Java DB2 CLI DB2 for i 2 JDBC IBM Developer Kit for Java IBM Toolbox for Java JDBCIBM Toolbox for Java JDBC IBM Toolbox for Java
JDBC SQL SQLJ SQL JDBC SQLJ SQL SQLJ SQLJ Java
JDBC SQLJ Developer Kit forJava
OLE DB and ADO (ActiveX Data Object)
IBM i Access for Windows Windows PC DB2 /Programmer's Toolkit OLE DB Provider i5/OS Information Center IBM i Access for Windows OLE DB Provider
.NET
IBM i Access for Windows Windows PC Windows /.NET Provider i5/OS Information Center System i Access for Windows .NET Provider
(SQL)
1 5
SQL ()
IBM i SQL
XML XMLXML
SESSION 'SYS' 'Q'
SESSION SESSION 'SYS' 'Q'
CREATE SCHEMA 1 944CREATE SCHEMA
() ()
C
CREATE SCHEMA C
C X
CREATE TABLE C.X (COL1 INT)
1. CRTLIB CL CREATE SCHEMA CRTLIB
6 IBM i: DB2 for i SQL
|
|
|
|
|
n n
3
v CREATE TABLE 958CREATETABLE
IBM i SQL
IBM i SQL 958CREATE TABLE
CREATE TABLE ()
SQL 958CREATE TABLE
1 () 2 1
1
1 7
DB2 UDB for iSeries
v 603 5
v DECLARE GLOBAL TEMPORARY TABLE
1
3
v 1 1 1 2
v 1 1 ID ID ID
v / $20 000
INSERT UPDATE
8 IBM i: DB2 for i SQL
2
v CREATE TABLE ALTER TABLE 1 NULL
v CREATE TABLE ALTER TABLE UNIQUE 1
UNIQUE
CREATE UNIQUE INDEX
732ALTER TABLE 958CREATE TABLE
v v NULL
CREATE TABLE ALTER TABLEINSERTUPDATE DELETE RESTRICT
RESTRICT 1 SQL
v CASCADE
v SET NULL SET DEFAULT 1
v CASCADE
1 9
1
1
1
T T T
1
p p p
NULL NULL NULL
NO ACTION RESTRICT NULL NULL NULL
RESTRICTNO ACTIONCASCADE SET NULL SET DEFAULT SET NULL NULL
()P D p
v RESTRICT NO ACTION
v CASCADE D p
10 IBM i: DB2 for i SQL
v SET NULL D p NULL NULL
v SET DEFAULT D p
RESTRICT NO ACTION RESTRICT NO ACTION
P
v D P RESTRICT NO ACTION D
v D P SET NULL D D
v D P SET DEFAULT D D
v D P CASCADE D D
D P D D D
P P P P P
732ALTER TABLE958CREATE TABLE
FALSE
T T 235
1
v v
1 11
FALSE
732ALTER TABLE958CREATE TABLE
1
IBM i SQL 902CREATE INDEX
2
v 2
2
v
12 4
CREATE INDEX 902CREATE INDEX
Indexing and statistics strategies for DB2 for i
12 IBM i: DB2 for i SQL
http://www.ibm.com/servers/enable/site/education/abstracts/indxng_abs.html
SQL
v ()
v CONNECTSET CONNECTIONDISCONNECT RELEASE
v SET SESSION AUTHORIZATION
1010CREATE TRIGGER
(10 % ) 1
()
1010CREATE TRIGGER2
CREATE TRIGGER (ADDPFTRG) CL DROP TRIGGER (RMVPFTRG) CL CREATE TRIGGER
2. ADDPFTRG CL
1 13
1010CREATE TRIGGER SQL
v v SQL
v
1 SQL SQL
() () SET 1 1
1
SQL
NC ()
14 IBM i: DB2 for i SQL
v
v (RESTRICT )
SQL
v ALWREPCHG(*YES) 1 SQL
SQL SQL
v ALWREPCHG(*NO) 1 SQL
SQL NC () SQL
SQL NC () SQL
CREATE TRIGGER ALWREPCHG(*YES)
1
SQL SELECT
1 15
INSERT UPDATE DELETE DELETE
IBM i SQL
IBM i SQL
CREATE VIEW 1046CREATE VIEW
CREATE
2
v v
()SQLCREATE TYPE () 1032CREATE TYPE () 98
1 SQL CREATE TYPE () SQL 1027CREATETYPE () 98
16 IBM i: DB2 for i SQL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 SQL
IBM i SQL
CREATE ALIAS 816CREATE ALIAS
SQL
SQL 4 SQL
SQL DROP ( 1136DROP)
SQL SELECT INTO SELECT INTO
Process Extended Dynamic SQL (QSQPRCED) API Process Extended Dynamic SQL (QSQPRCED) API Process Extended Dynamic SQL (QSQPRCED) API DRDA
3. SQL 816CREATE ALIAS
4. SQL SQL SQL SQL
1 17
i5/OS Information Center API
QSQPRCED API IBM i Access for WindowsSQLODBCJDBCSQLJOLD DB .NET SQL
SQL
2
SQL 171
SQL SQL SQL SQL SQL
CREATE FUNCTION 821CREATE FUNCTION
( ) SQL
SQL SQL SQL SQLSQL
CREATE PROCEDURE 910CREATEPROCEDURE
SQL SQL SQL SQL
18 IBM i: DB2 for i SQL
SQL 2 SQL 2 SQL
SQL CALL CALL
2 1
1.
1 19
() 10
1
v
v v 1 ( 1)
v
()
2 2
2.
20 IBM i: DB2 for i SQL
CREATE SEQUENCE 210950CREATE SEQUENCE
ID ID 1 ID
( ID ) SQL
2
*ALLOBJ
GRANT
PUBLIC PUBLIC ( ID) () SELECT PUBLIC UPDATE HERNANDZ HERNANDZ SELECT
REVOKE 1 ID ID ID
1 21
ID ID ID
ID ID
v v *OBJOPR*EXECUTE*ADD
1 ID ()
v SQL
v
SQL *PUBLIC *SYS *PUBLIC ((CRTAUT)) *SQL *PUBLIC *EXCLUDE
*READ *READ *READ
22 IBM i: DB2 for i SQL
|
SELECT
IBM SQL ANSI ISO ( )
CREATE SCHEMA
1561 F. DB2 for i
SQL IBM i ODBCJDBCOLE DB.NET DRDA
1 1 ILE LANGUAGE JAVA
ILE
1 1
1 23
(STRCMTCTL) COMMIT(*NONE) SQL 1
3 A B C
25 4 A B A B C C
3.
24 IBM i: DB2 for i SQL
2
v
4.
1 25
v
v
LOCK TABLE COMMIT HOLD ROLLBACK HOLD
v v DELETE UPDATE
( )1 1 1
COMMIT(*CS)COMMIT(*RS)COMMIT(*RR)
1 2 2
26 IBM i: DB2 for i SQL
1
TO SAVEPOINT SQL ROLLBACK
5. COMMIT ()
1 27
(savepoint) 1 SQL SQL SAVEPOINT TO SAVEPOINT SQL ROLLBACK RELEASE SAVEPOINT
6. ROLLBACK ()
7. ROLLBACK () SAVEPOINT
28 IBM i: DB2 for i SQL
IBM i 1 1
SQL
v (ACTGRP(*NEW) )
v SQL SQL SQL
ODBC APISQLSetEnvAttr() SQL_ATTR_SERVER_MODE SQL_TRUE
Change Job APIQWTCHGJB() 'Server mode for Structured Query Language (SQL )'
JAVA JDBC JDBC JDBC
SQL SQL SQL
v SQL ()
v ODBC/CLIJDBCOLE DB .NET
SQL (ODBC)
SQL
v DRDA v ALTER FUNCTION
1 29
v ALTER PROCEDUREv ALTER SEQUENCEv ALTER TABLEv COMMENTv CREATE ALIASv CREATE FUNCTIONv CREATE INDEXv CREATE PROCEDUREv CREATE SCHEMAv CREATE SEQUENCEv CREATE TABLEv CREATE TRIGGERv CREATE TYPEv CREATE VARIABLEv CREATE VIEWv DECLARE GLOBAL TEMPORARY TABLEv DROPv GRANTv LABELv REFRESH TABLEv RENAMEv REVOKE
i5/OS Information Center
SQL
P SQL
v P P
v P
DELETEINSERTSELECT INTOUPDATESQL
30 IBM i: DB2 for i SQL
|
DB2 for i
2.
SQL
SQL SQL (CRTSQLxxx) COMMIT SET OPTION COMMIT (CRTSQLxxx SQL )
SQL SQL SQL SQL SQL SQL SQLSET OPTION (COMMIT)
SQL SQL (RUNSQLSTM) COMMIT (RUNSQLSTM SQL )
SET TRANSACTION SQL
SQL(SET TRANSACTION 1399SET TRANSACTION)
isolation-clause SELECTSELECT INTOINSERTUPDATEDELETE DECLARE CURSOR isolation-clause isolation-clause (isolation-clause 659ISOLATION )
(CLI)
SQL_ATTR_COMMIT SQL_TXN_ISOLATION(CLI SQL (ODBC))
IBM Developer Kit for Java JDBC SQLJ
(JDBC SQLJ IBMDeveloper Kit for Java)
IBM i Access Family ODBC ODBC
ODBC (ODBC System i Access)
1 31
2. ()
SQL
IBM Toolbox for Java JDBC
JDBC (JDBC System i Access)(IBM Toolbox for Java IBMToolbox for Java)
IBM i Access Family OLE DB
Provider OLE DB
IsolationLevel (OLE DB System i Access )
IBM i Access FamilyADO .NET ADO .NET
IsolationLevel(ADO .NET System i Access )
2
COMMIT(*RS)COMMIT(*CS) COMMIT(*RR) COMMIT(*UR) COMMIT(*NC)
SQL
DB2 for i 5
32 IBM i: DB2 for i SQL
(RR)
v
v ( UPDATE )
RR
SQL 2003
DB2 for i COMMIT(*RR)
RR (RS)
v
v ( UPDATE )
RR RS RS
1. P1 n
2. P2 1
3. P1 P2
5. WITH HOLD WITH HOLD
6. WITH HOLD WITH HOLD
1 33
RS
SQL 2003
DB2 for i COMMIT(*ALL) COMMIT(*RS)
RR RS (CS) (UPDATE ) RR RS CS CS
SQL 2003
DB2 for i COMMIT(*CS)
SELECT INTO FETCH INSERT (UR)
v
v ( UPDATE )
CS
SQL 2003
DB2 for i COMMIT(*CHG) COMMIT(*UR)
UR (NC)
34 IBM i: DB2 for i SQL
v SQL LOCK TABLE
v
DB2 for i COMMIT(*NONE) COMMIT(*NC)
: () RS RR
NC UR CS RS RR
P3 ()
UR NC
UR NC
RS RR P2 ()
1 35
NC UR CS RS RR
P1 ()
:
v
v UR NC
CS
:
P1 UW1 UW2 UW1 COMMIT UW1 ROLLBACKUW2
P2 UW1 UW2 COMMIT UW1
P3 UW1 n UW2 1 UW1
System i DB2 for i () IBM i ()
1 System i DB2 UDB for iSeries
DataLink DataLink
36 IBM i: DB2 for i SQL
DB2 DB2
v DB2
v DataLink SQL
DataLinker 2
DataLink DB2
DataLink
1
SQL 7 2
v v
SQL
v A Z (26 )v a z (26 )v 0 9
7.
1 37
v . , : ; ? ( ) ' " / - _ & + = < >
EBCDIC A X'C1' B X'C2' 1 1
1 1
v 1 EBCDICv 1 ASCIIv 2 EBCDICv 1 ASCII 2 ASCII 8
v Unicode (UTF-8UCS-2 UTF-16 )
Unicode Unicode 16 65,000 100 UTF-16 Unicode 3
v UTF-8: Unicode Transformation Format8 ASCII UTF-8 UTF-8 CCSID 1208
UTF-8 123 4 UTF-8 SBCS DBCS
8. UTF-8 Unicode 1 2
38 IBM i: DB2 for i SQL
v UCS-2: 2 1 16 UCS-2 UCS-2 CCSID 13488
UCS-2 UTF-16 UTF-16 UCS-2 UTF-16 UCS-2 UTF-16 UTF-16 UCS-2 9
v UTF-16: Unicode Transformation Format16 100 UTF-16 UTF-16 CCSID 1200
UTF-8 UTF-16 1 1 1 () UTF-16 X'00E9' () X'00650301' ()
1 UTF-16 X'00650301' ( ) X'00E9' ( ) 10
UTF-8
UTF-8 UTF-16 4 2 100 4
2
9. UCS-2 16 1
10. (CPU 2.5 25 % )NOT NORMALIZED
1 39
1 1 (SBCS) 1 (1 2 ) () 2 (DBCS) (UCS-2 UTF-16)
ID (CCSID) 1 CCSID 1 DB2 for i EBCDIC CCSID ASCII
(Unicode ) CCSID
40 IBM i: DB2 for i SQL
CCSID CCSID CCSID CCSID
v 113v 122:v 130v 52
CCSIDIBM Character Data Representation Architecture (CDRA) ID (CCSID) CCSID 2 () 2 1
CCSID 1 CCSID
CCSID CCSID
CCSID CCSID CCSID IBM (CDRA)
CCSID CCSID 1 (DBCS CCSID )
CCSID
11. CCSID 65535 CCSID DFTCCSID ( DFTCCSID CCSID) CCSID
v FOR MIXED DATA CCSID 65535 v GRAPHIC VARGRAPHIC CCSID 65535 v DBCLOB CCSID 1200
1 41
v CCSID (/)
v (USER CURRENT SERVER )v CAST v CHARDATAPARTITIONNAMEDAYNAMEDBPARTITIONNAME
DIGITSHEXMONTHNAMESOUNDEXSPACE VARCHAR_FORMAT
v CCSID DECRYPT_CHARDECRYPT_DBCHARGRAPHICVARCHAR VARGRAPHIC
v CCSID CLOB DBCLOB 11
v CREATE TABLE ALTER TABLE CCSID 11
v CCSID DECLARE GLOBALTEMPORARY TABLE 11
v
v CREATE FUNCTION CREATE PROCEDURE CCSID 11
1 CREATE VIEW CCSID
CCSID CCSID IBM i CCSID CCSID CCSID CCSID
()
(a A)
v SBCS ()v SBCS v Unicode (UTF-8UCS-2 UTF-16)
42 IBM i: DB2 for i SQL
SBCS 256 1 SBCS CCSID a A
UCS-2 UCS-2 1 UCS-2 1 () UCS-2
(UCS-2 ) (UCS-2 ) (CRTTBL)
UTF-8 UTF-16 ICU (International Components forUnicode) ICU Unicode API API IBM i ICU 2.3.1ICU 3.4 ICU 4.0 ICU 3.4 ICU 4.0 ICU I34en_us () I34fr_FR ()
ICU LIKE LOCATEPOSITIONPOSSTRPOSITION
ICU 2.3.1
v EXCEPT INTERSECT v VALUESv OLAP v v ORDER OFv ()v v GROUP BY LOBv v ORDER BY FETCH FIRST n ROWS
1 43
|
|
|
|
|
|
|
|
|
v CONTAINS SCORE v XMLAGGXMLATTRIBUTESXMLCOMMENTXMLCONCAT
XMLDOCUMENTXMLELEMENTXMLFORESTXMLGROUPXMLNAMESPACESXMLPIXMLROW XMLTEXT
v v
ICU
v ICU SQL SBCS UCS-2 ICU ICU ICU
v ICU SBCS UCS-2 SBCS 3 DBCS 6
SQL CRTSQLxxxSTRSQL RUNSQLSTM SETOPTION SQL SQL 16 SRTSEQ(*HEX) 2 3 *HEX
FOR BIT DATA
3.
SQL
SQL SQL (CRTSQLxxx) SRTSEQ SRTSEQ SETOPTION (CRTSQLxxx SQL )
44 IBM i: DB2 for i SQL
|
|
|
|
|
|
|
|
3. ()
SQL
SQL SQL (RUNSQLSTM) SRTSEQ (RUNSQLSTM SQL )
(CLI)
SQL_ATTR_JOB_SORT_SEQUENCE (CLI SQL (ODBC))
IBM Developer Kit for Java JDBC SQLJ
job.sort.sequence (JDBC SQLJ IBMDeveloper Kit for Java)
IBM i Access Family ODBC ODBC
ODBC (ODBC System i Access)
IBM Toolbox for Java JDBC
JDBC (JDBC System i Access)(IBM Toolbox for Java IBMToolbox for Java)
IBM i Access Family OLE DB
Provider OLE DB
(OLE DB System i Access )
IBM i Access FamilyADO .NET ADO .NET
SortSequence(ADO .NET System i Access )
CCSID i5/OS Information Center CCSID i5/OS Information CenterDB2 SQL
() SQL
()
1 45
12 8
Distributed Relational Database Architecture (DRDA) Open Group Publications: DRDA Vol. 1: Distributed Relational Database
Architecture (DRDA)
SQL
SQL CONNECT
CONNECT
v STRSQL CONNECT CRTSQLxxx STRSQL RDB
CONNECT CONNECT 1
12.
8.
46 IBM i: DB2 for i SQL
|
|
|
|
|
|
|
|
|
|
|
http://www.opengroup.org/dbiophttp://www.opengroup.org/dbiop
v 3 3 CONNECT
CONNECT SQL
CONNECT
() CONNECT System i Navigator i5/OS Information Center (ADDRDBDIRECHGRDBDIREDSPRDBDIRERMVRDBDIREWRKRDBDIRE)
v SQL v v CL
SQL
v CRTSQLxxx SQLPKG CRTSQLxxx SQL
v ()
DB2 DB2
1503 B. SQL
1 47
|
|
|
|
|
|
|
|
|
CONNECT ( 1) CONNECT ( 2)CONNECT 2 CONNECT ( 1) CONNECT ( 2)
1513CONNECT ( 1) CONNECT ( 2)
SQL A B 1 B SQL B C ()
SQL
v SQL
v SQL
3
v /v /v /
48 IBM i: DB2 for i SQL
/
/
CONNECT / CONNECT /
/
CONNECTCONNECTCOMMIT ROLLBACK SQL /
/
SQL CONNECT
v COMMIT v SQL DISCONNECT v CONNECT
CONNECT CONNECT CONNECT CONNECT CONNECT COMMIT DISCONNECT SET CONNECTION RELEASE ROLLBACK (COMMIT(*NC) ) SQL
9.
1 49
|
CONNECT CONNECT
SQL A B B SQL SQL
APPC TCP/IP
v
v SQL /
/
/
/
:
1 /
50 IBM i: DB2 for i SQL
CONNECT :
v /v /
SET CONNECTION ()
RELEASE
CONNECT
10.
1 51
v 1
v SET CONNECTION
v CONNECT
CURRENT SERVER SQL
CONNECT SET CONNECTION
CURRENT SERVER SQL CONNECTDISCONNECTSETCONNECTIONRELEASECOMMIT ROLLBACK
SQL DISCONNECT
P X X P
DRDA
52 IBM i: DB2 for i SQL
z/OS DB2for i IEEE System/370* (/370)
IBM (CDRA) Character Data Representation Architecture Reference and Registry(SC09-2190)
1 53
54 IBM i: DB2 for i SQL
2
SQL SQL
SQL IBM 1
13
26 (A Z) 26 (a z) 14
0 9
- " . % / ()& : ' ; ( < ) = * > + ? , _ | 16 ^ ! 15 [ { ] } 15
13. SQL Unicode 1 1 UTF-16
14. 3 (#@ $) 3 CCSID
15. () (!) IBM = != > !> =
16. (|) IBM (||)CONCAT
Copyright IBM Corp. 1998, 2010 55
1 1 ID ()
v ID ID
1 .1 +2 SELECT E 3
v ID (?) 1284PREPARE
, 'Myst Island' "fld1" = .
:
1
:
4.
EBCDIC 16 Unicode 16
05 U+0009
0C U+000C
0D U+000D
15 U+0085
() 25 U+000A
DBCS U+3000
ID
56 IBM i: DB2 for i SQL
1.1 .1+2 SELECTE .1E E3 SELECT1
1. .3
(.)
137
1,2 ,1 1, 1,e1
'1,2' '1,e1' 2 (1) (,) (1) (,)
:
SQL SQL SQL SQL EXEC SQL Java Java SQL SQL 2
2 (--) 677SQL
/* */ 677SQL
:
SQL (ID / C Java )
2 57
select * from EMP where lastname = 'Smith';
SELECT * FROM EMP WHERE LASTNAME = 'Smith';
IDID SQL ID SQL ID ID ID
: $@# CCSID ID DB2 and SQL sortsequence
SQL IDSQL ID ID ID 2
v ID ID ID 1797 I. SQL ID ID
v ID 1 SQL 1 2 SQL ID ID (") (')
SQL SQL COBOL
COBOL SQL CRTSQLCBL CRTSQLCBLI OPTION(*QUOTESQL) (")
COBOL CRTSQLCBL CRTSQLCBLI OPTION(*QUOTESQL) (")
ID
X'00' X'3F' X'FF'
58 IBM i: DB2 for i SQL
IDIBM i ID 2 ID ID ID
v ID SQL ID
v ID SQL ID
ID
- (X'40')
- (X'5C')
- (X'7D')
- (X'6F')
- (X'7F')
ID ID
PRIVILEGES ID 10 privileges ID 12
WKLYSAL WKLY_SAL "WKLY_SAL" "UNION" "wkly_sal"
ID 60
ID ID
ID ID DBCS COBOL IDCOBOL 'SQ''SQL''sql''RDI' 'DSN' Java '__sJT_'
DB2 for i ID 685
17. 'SQ' CCOBOL PL/I RPG
ID
2 59
(*SQL *SYS) CRTSQLxxxRUNSQLSTM STRSQL SETOPTION SQL
SQL (.) SQL ID (/) SQL ID
SQL ID 69
SQL (.) SQL ID (/) SQL ID
SQL ID 69
SQL SQL SQL
ID ID ID 75 ID
SQL ID SQL ID
COMMENT LABEL /.
60 IBM i: DB2 for i SQL
|
|
|
|
|
|
|
|
|
|
|
SQL (.) SQL ID (/) SQL ID
SQL ID 69
SQL ID
SQL SQL ID
SQL (SQLDA) SQL :: 161
SQL (.) SQL ID (/) SQL ID
SQL ID 69
SQL SQL SQL SQL
SQL (.) ID (/) ID
ID 69
2 61
|
|
|
SQL system-schema-name (.) ID IBM i (library-name.service-program-name(entry-point-name)) system-schema-name (/) ID IBM i (library-name/service-program-name(entry-point-name))
ID IBM i 69
v IBM i (/)v IBM i IBM i (/ ())REXX
v IBM i IBM i (/ ())
v Java jar ID ID ( ID! ID ID. ID)
jar-name :
class-id ! method-id.
jar jar jar () ID ID 'myJar' 'myCollection.myJar'
ID
ID Java ID Java ID Java ID 'myPackage.StoredProcs' Java StoredProcs
'/QIBM/UserData/OS400/SQLLib/Function/myPackage/StoredProcs/'
ID
62 IBM i: DB2 for i SQL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ID Java
Java Java
SQL (.) SQL ID (/) SQL ID
SQL ID 69
CREATECOMMENTDROPGRANTREVOKE /
161 1 1 ID
SQL (.) SQL ID (/) SQL ID
SQL ID 69
ID
System i DB2
SQL (.) ID (/) ID
2 63
ID 69
SQL (.) ID (/) ID
ID 69
SQL ID ID
ID
SQL (.) SQL ID (/) SQL ID
SQL ID 69
ID
SQL ID
SQL SQL (.) ID
SQL (/) SQL ID
server-name server-name
64 IBM i: DB2 for i SQL
|
|
|
|
|
|
: CREATE SCHEMA IBM i
SQL (.) SQL ID (/) SQL ID NEXT VALUE PREVIOUS VALUE ( SQL )
SQL ID 69
SQL ID ID
SQL (.) SQL ID (/) SQL ID
SQL ID 69
SQL-condition-nameSQL SQL SQL ID
SQL ALLOCATE DESCRIPTOR SQL
SQL :
v CLOB DBCLOB v Unicode
v SQL
v ::
v /
2 65
161
SQL SQL
SQL SQL SQL SQL SQL ID
SQL SQL SQL SQL ID (.) SQL ID
SQL SQL SQL SQL ID SQL (.) SQL ID
SQL SQL ID
IBM i ID ID
IBM i ID
ID
IBM i ID
ID
SQL (.) SQL ID (/) SQL ID
SQL ID 69
66 IBM i: DB2 for i SQL
|
|
|
|
|
|
|
|
|
|
SQL (.) ID (/) SQLID
SQL ID 69
ID 1 64 ID ID DB2 for i
SQL (.) SQL ID (/) SQL ID ( SQL )
SQL ID 69
SQL (.) SQL ID (/) SQL ID
SQL ID 69
XSR XML xsrobject-name SQL (.) SQL ID (/) SQL ID
xsrobject-name SQL ID 69
2 67
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5. ID ()
ID
18 10
128
128
() 279
()19 10
ID 64
10
128
128
18
SQL 128
SQL 128
SQL 128
128
128
128
128
128
128
128
128
10
10
ID 64
128
128
128
SQL 128
SQL 128
10
10
10
128
128
128
XSR 128
18. 255
68 IBM i: DB2 for i SQL
||
||
||
||
||
SQL SQL ALTERCREATEDROPCOMMENTLABELGRANT REVOKE ()
SQL SMITHXGRAPHICQSYSQSYS2 MYTYPE MYTYPE SMITH XGRAPHIC QSYS QSYS2
SQL SQL
v SQL (CALL ) CRTSQLxxx SQLPATH SQLPATH SET OPTION
system-schema-name system-schema-name SQL
v SQL ( CALL ) CURRENT PATH CURRENTPATH 147CURRENT PATH
SQL SQL ID
SQL SQL 147CURRENT PATH
XSR
XSR
19. REXX 33
2 69
|
|
|
|
|
|
|
|
v SQL CRTSQLxxx ( SET OPTION )
DFTRDBCOL
- SQL ID
- (*LIBL)
v SQL SQL
- SQL ID
- (*LIBL)
6.
SQL
SQL SQL (CRTSQLxxx) SQL (CRTSQLPKG) DFTRDBCOL DYNDFTCOL(*YES) DFTRDBCOL DYNDFTCOL SET OPTION (CRTSQLxxx SQL )
SQL SQL (RUNSQLSTM) DFTRDBCOL (RUNSQLSTM SQL )
(CLI)
SQL_ATTR_DEFAULT_LIB SQL_ATTR_DBC_DEFAULT_LIB (CLI SQL (ODBC))
IBM Developer Kit for Java JDBC SQLJ
(JDBC SQLJ IBMDeveloper Kit for Java)
70 IBM i: DB2 for i SQL
6. ()
SQL
IBM i Access Family ODBC ODBC
ODBC SQL (ODBC System i Access)
IBM Toolbox for Java JDBC
JDBC SQL (JDBC System i Access)(IBM Toolbox for Java IBMToolbox for Java)
IBM i Access Family OLE DB
Provider OLE DB
DefaultCollection
(OLE DB System i Access )
IBM i Access FamilyADO .NET ADO .NET
DefaultCollection
(ADO .NET System i Access )
SET SCHEMA QSQCHGDC () API(QSQCHGDC API )
()SQL
v CREATECOMMENTLABELDROPGRANT REVOKE ( 69 XSR )
v SQL
SQL
SQL
2 71
|
|
|
|
|
|
|
|
|
173 SQL
867CREATEFUNCTION ()
SQL : CL (OVRDBF) SQL SQL SQL SQL
72 IBM i: DB2 for i SQL
SQL
v CREATE TABLE CREATE VIEW PERSONNEL CREATE TABLE PERSONNEL
v CREATEINDEXDELETEINSERTMERGESELECT INTOSET UPDATE VALUES INTO
3 DRDA DRDA 3 3
SQL
SQL SQL PBIRD.SALES DSPN014.DIST4_SALES_148
2 73
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT * FROM PBIRD.SALES
SELECT * FROM DSPN014.DIST4_SALES_148
v SQL SQL
v v
DB2 for z/OS CREATEALIAS DROP ALIAS ALIAS SYNONYM
74 IBM i: DB2 for i SQL
ID ID ID ID ID
SET SESSION AUTHORIZATION ID
ID SQL
ID SQL SQL ID USRPRF
v USRPRF(*OWNER) USRPRF(*NAMING) SQL ID SQL SQL SQL
v USRPRF(*USER) USRPRF(*NAMING) ID SQL ID SQL ID
SQL ID
v USRPRF *USER DYNUSRPRF *USER ID ID ID
USRPRF *OWNER DYNUSRPRF *USER ID ID
USRPRF *OWNER DYNUSRPRF *OWNER ID ID
v SQL USRPRF *USER DYNUSRPRF
*USER ID SQL ID ID ID
SQL USRPRF *OWNER DYNUSRPRF *USER ID SQL ID
ID
2 75
SQL USRPRF *OWNER DYNUSRPRF *OWNER ID SQL ID
v SQL (STRSQL) ID ID
v RUNSQLSTM RUNSQLSTM ID ID
v REXX ID STRREXPRC ID
IBM i ID
SQL ID GRANT REVOKE IDX X ID SQL
SMITH ID SMITH ID
GRANT SELECT ON TDEPT TO KEENE
SMITH ID SMITH
KEENE KEENE SMITH.TDEPT SELECT
SQL
(CCSID )
v v v v v v (SQL )
ID
76 IBM i: DB2 for i SQL
|
|
|
DB2 98
DB2 for i
958CREATETABLE
2 77
NULL NULL NULL NULL NULL (NULL )
NULL NULL NULL NULL NOT NULL NULL COUNT COUNT_BIG NULL ROWID NULL ROWID NULL
2 10 10
v : 2 10 v 10 v :
2 64 2 10 2 10
10 16 34 10
10 10 10 (0.00.000.0E51.01.001.0000)
5 2 2 -32 768 +32 767
10 COBOLRPG IBM i 2 DDS
78 IBM i: DB2 for i SQL
|
10 4 2 -2 147 483 648 +2 147 483 647
10 COBOLRPG IBM i 2 DDS
64
64 19 8 2 64 -9 223 372 036 854 775 808 +9 223 372 036 854 775807
10
10 10 10 () 63
1 10 10 10 -n +n n
-1063 +1 1063 -1
32 1.17549436 10-38 3.40282356 1038
IEEE 64 2.2250738585072014 10-308 1.7976931348623158 10308
7 15
10
10 IEEE 754R 10 34 10 16 34 10-383 10384 10-6143 106144
DECFLOAT Emin DECFLOAT(16) -383DECFLOAT(34) -6143 DECFLOAT Emax DECFLOAT(16) 384DECFLOAT(34) 6144
10 3 ( 13310 )
2 79
v - v NaN - v NaN - 20
()NaN
1498 100
2 2 64 CC++ILE COBOL ILE RPG RPG/400 COBOL/400 10 10 C
10 10 (CAST ) (CAST) 10 10
10 10 1
Emin (DECFLOAT(34) -6143DECFLOAT(16) -383) 21
Emin- (precision - 1) Etinyprecision 10 Etiny -6176 (DECFLOAT(34) ) -398(DECFLOAT(16) ) Etiny precision - (- Etiny+ Emin)
20.SQL_DECFLOAT_WARNINGS *YES
21.SQL_DECFLOAT_WARNINGS *YES
80 IBM i: DB2 for i SQL
Etiny 21
Etiny
10
NULL
1 32766 1495 A. SQL
v VARCHARv CLOB
(CLOB) ()
1 32 740 CLOB 1 2 147 483 647 1495 A. SQL
87
v REXX Java (C C++ 1 )
v VARCHAR CC++COBOLPL/IREXX RPG
2 81
PL/IREXX ILE RPG
COBOLC C++
C C++ NUL
RPG/400 VARCHAR
v CLOB REXXRPG/400 COBOL/400
ILE RPG CLOB SQLTYPE
SQL TYPE IS CLOB
4
() CCSID 65535
: 2 X'00' 2
SBCS SBCS CCSID SBCS CCSID
MIXED () 1 (SBCS) 2 (DBCS) CCSID CCSID DBCS SBCS
Unicode 1 Unicode UTF-8 UTF-8 CCSID 1208
2 2 2 1 EBCDIC
82 IBM i: DB2 for i SQL
v X'0E' () 2
v X'0F' () 2
2
v 2
X'0E' X'0F' X'0E' 2 X'0F' 2 X'0F'
(2 ) 1 2
2 2 1
CCSID DBCS FOR BITDATAFOR SBCS DATA SBCS CCSID CREATE TABLE DBCS SQL DBCS DBCS
2
1 16 383 1495 A. SQL
GRAPHIC v v VARGRAPHIC
2 83
v DBCLOB
2 (DBCLOB) 2 (2 )
1 16 370 DBCLOB 1 1 073 741 823 1495 A. SQL
87
v CC++ILE COBOL ILE
RPG (C C++ 1 )
PL/ICOBOL/400 RPG/400GRAPHIC
v VARGRAPHIC CC++ILECOBOLREXX ILE RPG
REXX ILE RPG
CC++ ILE COBOL
C C++ NUL
PL/ICOBOL/400RPG/400 VARGRAPHIC
v DBCLOB REXXRPG/400 COBOL/400
ILE RPG DBCLOB SQLTYPE
SQL TYPE IS DBCLOB
2
84 IBM i: DB2 for i SQL
DBCS 2 (DBCS)
DBCS 2 CCSID DBCS DBCS CCSID DBCS
Unicode 2 Unicode UCS-2 UTF-16 UCS-2 UTF-16 UCS-2 CCSID 13488 UTF-16 CCSID 1200
NCHARNVARCHAR NCLOB CCSID 1200 Unicode
CCSID CCSID DBCS CCSID DBCS CCSID 65535 UTF-16 UCS-2 CCSID CCSID DECLARE VARIABLE
2 2 2 2 2 65535 CCSID 2 FOR BIT DATA
2
1 32 766 1495 A. SQL
2
2
v VARBINARYv BLOB
(BLOB) () 1
2 85
1 32 740 BLOB 1 2 147 483 647 1495 A. SQL
2
2 REXXRPG/400 COBOL/400
v BINARY 2 REXXRPG/400 COBOL/400
ILE RPG BINARY 2 SQLTYPE
SQL TYPE IS BINARY
v VARBINARY 2 REXXRPG/400COBOL/400
ILE RPG VARBINARY 2 SQLTYPE
SQL TYPE IS VARBINARY
v BLOB 2 REXXRPG/400 COBOL/400
ILE RPG BLOB 2 SQLTYPE
SQL TYPE IS BLOB
LOB CLOBDBCLOBBLOB
LOB LOB LOB 1 (LOB ) LOB 22
LOB LOB LOB
22. Java LOB CLOB BLOB CLOB BLOB
86 IBM i: DB2 for i SQL
LOB
LOB LOB ( LOB ) LOB LOB LOB LOB LOB
LOB LOB LOB
SUBSTR(lob_value_1 CONCAT lob_value_2 CONCAT lob_value_3, 42, 6000000)
NULL -1 NULL LOB LOB NULL LOB LOB NULL NULL LOB NULL
LOB LOB LOB LOB LOB
LOB LOB LOB LOB FETCHOPENCALL EXECUTE SQLDA LOB SQLTYPE
LOB
2 87
v CLOB v DBCLOB v 2 BLOB
7.
LOB (CLOBDBCLOB BLOB)
CREATE INDEX
CLOB DBCLOB 237 3
//
89/
1 3 () 1
0001 9999 23 *JUL*MDY*DMY *YMD 1940 2039 1 12 1 x x 282930 31
1 4 ()
(DATE) 68 10 (SQLDA )
23.1582-10-04 1582-10-15
88 IBM i: DB2 for i SQL
||
|
|
3 () 24
0 24 0 59 24
3 2 10 2 3
(TIME) 8 (SQLDA )
7 ()
10 4 3 3 ( 3 6 )
(TIMESTAMP) 26 (SQLDA )
ILE RPG ILE COBOL
Java java.sql.Datejava.sql.Timejava.sql.Timestamp
/ DATE ()TIME () TIMESTAMP () SQL Unicode
/ (DATFMT) (DATSEP)(TIMFMT) (TIMSEP)
2 89
|
|
|
|
|
|
|
|
// CCSID (ASCII)/ CCSID
/
:
Unicode 6 IBM SQL IBM SQL (CHAR ) CHAR 2 (DATSEP)
8
v v IBM SQL v
8.
(*ISO) ISO 'yyyy-mm-dd' '1987-10-12'
IBM USA (*USA) 'mm/dd/yyyy' '10/12/1987'
IBM (*EUR) EUR 'dd.mm.yyyy' '12.10.1987'
(*JIS) JIS 'yyyy-mm-dd' '1987-10-12'
'yyyyddd' '1987285'
(*JUL) 'yy/ddd' '87/285'
(*MDY) 'mm/dd/yy' '10/12/87'
(*DMY) 'dd/mm/yy' '12/10/87'
(*YMD) 'yy/mm/dd' '87/12/10'
90 IBM i: DB2 for i SQL
9.
SQL
SQL DATFMT DATSEP SQL (CRTSQLxxx) SQL DATFMT DATSEP SET OPTION (CRTSQLxxx SQL )
SQL SQL
SQL (STRSQL) DATFMT DATSEP SQL (RUNSQLSTM) DATFMT DATSEP (STRSQL RUNSQLSTM SQL )
(CLI)
SQL_ATTR_DATE_FMT SQL_ATTR_DATE_SEP (CLI SQL (ODBC))
IBM Developer Kit for Java JDBC SQLJ
(Date Format)(Date Separator)(JDBC SQLJ IBMDeveloper Kit for Java)
IBM i Access Family ODBC ODBC
ODBC (Advanced Server Options) (Date Format) (DateSeparator)(ODBC System i Access)
IBM Toolbox for Java JDBC
JDBC (Format)(JDBC System i Access)(IBM Toolbox for Java IBMToolbox for Java)
:
Unicode 4 13.30 13.30.00
92 10 IBM SQL (CHAR
2 91
) (*HMS) CHAR *HMS (TIMSEP)
v v IBM SQL
10.
(*ISO) ISO 'hh.mm.ss' 24 '13.30.05'
IBM USA (*USA) 'hh:mm AM' (or PM) '1:30 PM'
IBM (*EUR) EUR 'hh.mm.ss' '13.30.05'
(*JIS) JIS 'hh:mm:ss' '13:30:05'
(*HMS) 'hh:mm:ss' '13:30:05'
USA
v 12 00:00 AM 0
v AM PM 1 v
USA 24 ISO USA 24
11. USA USA 24
12:01 AM 12:59 AM 00.01.00 00.59.0001:00 AM 11:59 AM 01:00.00 11:59.0012:00 PM () 11:59 PM 12:00.00 23.59.0012:00 AM () 24.00.0000:00 AM () 00.00.00
24. ISO JIS ISO
92 IBM i: DB2 for i SQL
12.
SQL
SQL SQL (CRTSQLxxx) TIMFMT TIMSEP SQL TIMFMT TIMSEP SETOPTION (CRTSQLxxx SQL )
SQL SQL
SQL (STRSQL) TIMFMT TIMSEP SQL (RUNSQLSTM) TIMFMT TIMSEP (STRSQL RUNSQLSTM SQL )
(CLI)
SQL_ATTR_TIME_FMT SQL_ATTR_TIME_SEP(CLI SQL (ODBC))
IBM Developer Kit for Java JDBC SQLJ
(Time Format)(Time Separator)(JDBC SQLJ IBMDeveloper Kit for Java)
IBM i Access Family ODBC ODBC
ODBC (Advanced Server Options) (Time Format) (TimeSeparator)(ODBC IBM i Access Family)
IBM Toolbox for Java JDBC
JDBC (Format)(IBM Toolbox for Java IBMToolbox for Java)
:
Unicode 16
13.
ISO
'yyyy-mm-dd hh:mm:ss.nnnnnn' '1990-03-02 08:30:00.010000'
IBM SQL 'yyyy-mm-dd-hh.mm.ss.nnnnnn' '1990-03-02-08.30.00.010000'
2 93
13. ()
14
'yyyymmddhhmmss' '19900302083000'
0 1990-3-2-8.30.00.10 1990-03-02-08.30.00.100000
24.00.00.000000
94 IBM i: DB2 for i SQL
XML XML XML XML XML XML
XML XML XML XML XML XML IS NULL
XML XML XMLSERIALIZE XML XML XMLPARSE XML
XML XML LOB LOB XML XML
XML : XML XML
v XML NULL XML CASTv XML NULL XML XMLCASTv IS NULL v COUNT COUNT_BIG v COALESCEIFNULLHEXLENGTHCONTAINS SCORE
v XML v DISTINCT SELECT v INSERT VALUES UPDATE SET MERGEv SET VALUES INTOv v v v
XML XMLSERIALIZE XML
v DISTINCT SELECT v GROUP BY v ORDER BY v UNION ALL v BETWEENDISTINCTIN LIKE
2 95
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v DISTINCT v v v
XML
XML CCSID
XML 1 EBCDIC CCSID UnicodeCCSID 1208120013488 XML CCSID 65535 CCSID XML SQL_XML_DATA_CCSIDQAQQINI CCSID 1208 (UTF-8)
SQL XML CCSID
CCSID DECLARE VARIABLE XML CCSID
v XML AS DBCLOB CCSID 1200 v XML AS CLOB SQL_XML_DATA_CCSID QSQQINI 1200
13488 CCSID 1208
v SQL_XML_DATA_CCSID QSQQINI CCSID
XMLPARSE UTF-8 (1208) CCSID UTF-8
URL (Uniform ResourceLocator)
URL HTTP FILE
96 IBM i: DB2 for i SQL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
254
URL (A Z) (a z) (0 9) ($-_@. &+!*"'()= ; /# ? :)
4
166LOB XML LOB
v
v
(DLVALUE) (DLCOMMENTDLLINKTYPEDLURLCOMPLETEDLURLPATHDLURLPATHONLY DLURLSCHEMEDLURLSERVER)
ID ID ID ROWID
ROWID ROWID DB2 for z/OS DB2 for i ID
2 97
ID BIT CCSID ROWID 40
CREATE 2
() BLOB 1032CREATE TYPE ()
AUDIO
CREATE TYPE AUDIO AS BLOB (1M)
AUDIO BLOB BLOB AUDIO AUDIO()
v CREATE TYPE DROPCOMMENTLABELGRANT REVOKE ID 71
v SQL SQL 69SQL
(AUDIO LENGTH )
98 IBM i: DB2 for i SQL
SQL DECIMAL(9,2) MONEY +
CREATE TYPE MONEY AS DECIMAL(9,2) WITH COMPARISONSCREATE FUNCTION "+"(MONEY,MONEY)
RETURNS MONEYSOURCE "+"(DECIMAL(9,2),DECIMAL(9,2))
CREATE TABLE SALARY_TABLE(SALARY MONEY,COMMISSION MONEY)
SELECT "+"(SALARY, COMMISSION) FROM SALARY_TABLE
1 ROWID 1 ROWID ID
AUDIO
schema-name.BLOB schema-name.AUDIO BLOBschema-name.AUDIO BLOB schema-name.AUDIO
() N 1 N
1 CREATE TYPE () A M A 0 M C SQL
2 99
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 CHAR VARCHAR INTEGER DOUBLE PRECISION CLOB VARCHAR
v ( 173)v ( 102)
v ( 124)
14 CHARACTER GRAPHIC
14.
()
SMALLINT SMALLINTINTEGERBIGINTdecimalrealdoubleDECFLOAT
INTEGER INTEGERBIGINTdecimalrealdoubleDECFLOAT
BIGINT BIGINTdecimalrealdoubleDECFLOAT
10 decimalrealdoubleDECFLOAT
real realdoubleDECFLOAT
double doubleDECFLOAT
DECFLOAT DECFLOAT
CHAR GRAPHIC
CHAR GRAPHICVARCHAR VARGRAPHICCLOB DBCLOB
VARCHAR VARGRAPHIC
VARCHAR VARGRAPHICCLOB DBCLOB
CLOB DBCLOB
CLOB DBCLOB
CHAR FOR BIT
DATA
CHARVARCHARCLOBBINARYVARBINARYBLOB
VARCHAR FOR
BIT DATA
VARCHARCLOBVARBINARYBLOB
100 IBM i: DB2 for i SQL
14. ()
()
BINARY BINARYVARBINARYBLOBCHAR FOR BIT DATAVARCHARFOR BIT DATA
VARBINARY VARBINARYBLOBVARCHAR FOR BIT DATA
BLOB BLOB
DATE DATE
TIME TIME
TIMESTAMP TIMESTAMP
DATALINK DATALINK
ROWID ROWID
XML XML
udt udt
:
10 = DECIMAL(p,s) NUMERIC(p,s)
real = REAL FLOAT(n) n
double = DOUBLEDOUBLE PRECISIONFLOAT FLOAT(n) n
udt =
Unicode
2 101
||
()
100
CAST ( 200CAST ) ( 117) ( 867CREATE FUNCTION ())
( 112:)
( 111)
15 103 16
15.
... ...
DT DT
DT DT
DT DT
A DT (A DT ) ( 100)
INTEGER DT (DT SMALLINT )
DOUBLE DT (DT REAL )
VARCHAR
DT (DT CHAR GRAPHIC)
102 IBM i: DB2 for i SQL
15. ()
... ...
VARGRAPHIC
DT (DT GRAPHIC CHAR)
VARBINARY DT (DT BINARY )
Unicode
CAST 173 200CAST CAST
16.
SMA
LL
INT
INT
EG
ER
BIG
INT
DE
CIM
AL
NU
ME
RIC
RE
AL
DO
UB
LE
DE
CF
LO
AT
CH
AR
VA
RC
HA
R
CL
OB
GR
AP
HIC
VA
RG
RA
PH
IC
DB
CL
OB
BIN
AR
Y
VA
RB
INA
RY
BL
OB
DA
TE
TIM
E
TIM
EST
AM
P
RO
WID
DA
TA
LIN
K
XM
L
SMALLINT Y Y Y Y Y Y1
INTEGER Y Y Y Y Y Y1
BIGINT Y Y Y Y Y Y1
DECIMAL Y Y Y Y Y Y1
NUMERIC Y Y Y Y Y Y1
REAL Y Y Y Y Y Y1
DOUBLE Y Y Y Y Y Y1
DECFLOAT Y Y Y Y Y Y1
CHAR Y Y Y Y Y Y1 Y2 Y Y Y Y
VARCHAR Y Y Y Y Y Y1 Y2 Y Y Y Y
CLOB Y Y Y Y Y Y1 Y2 Y
GRAPHIC Y1 Y1 Y1 Y1 Y1 Y Y Y1 Y1 Y1
VARGRAPHIC Y1 Y1 Y1 Y1 Y1 Y Y Y1 Y1 Y1
DBCLOB Y1 Y1 Y1 Y1 Y1 Y Y
BINARY Y2 Y
2 103
|
16. ()
SMA
LL
INT
INT
EG
ER
BIG
INT
DE
CIM
AL
NU
ME
RIC
RE
AL
DO
UB
LE
DE
CF
LO
AT
CH
AR
VA
RC
HA
R
CL
OB
GR
AP
HIC
VA
RG
RA
PH
IC
DB
CL
OB
BIN
AR
Y
VA
RB
INA
RY
BL
OB
DA
TE
TIM
E
TIM
EST
AM
P
RO
WID
DA
TA
LIN
K
XM
L
VARBINARY Y2 Y
BLOB Y2 Y
DATE Y Y Y
TIME Y Y Y
TIMESTAMP Y Y Y Y
ROWID Y Y Y
DATALINK Y
XML Y
:
1 FOR BIT DATA
2 2 FOR BIT DATA
17.
SMALLINT 487SMALLINT
INTEGER 402INTEGER INT
BIGINT 281BIGINT
DECIMAL 340DECIMAL DEC
NUMERIC 577ZONED
REAL 462REAL
DOUBLE 359DOUBLE_PRECISION DOUBLE
DECFLOAT 337DECFLOAT
CHAR 292CHAR
VARCHAR 524VARCHAR
CLOB 300CLOB
GRAPHIC 106
383GRAPHIC
104 IBM i: DB2 for i SQL
|
17. ()
VARGRAPHIC 106
533VARGRAPHIC
DBCLOB 329DBCLOB
BINARY 283BINARY
VARBINARY 523VARBINARY
BLOB 287BLOB
DATE 320DATE
TIME 500TIME
TIMESTAMP 501TIMESTAMP 1
DATE 00:00:00
TIME CURRENT_DATE
DATALINK
106
ROWID 476ROWID
XML
106 XML
2 105
|||
SQL CALLINSERTUPDATEFETCHSELECTSET VALUE INTO (MAXMINDISTINCTGROUP BYORDER BY )
UNIONEXCEPTINTERSECTCASE CONCATVALUECOALESCEIFNULLMINMAX
18.
2
10
10
ID
XM
L8
2 Y Y Y Y Y 1 4
10 5 Y Y Y Y Y 1 4
Y Y Y Y Y 1 4
10
Y Y Y Y Y 1 4
Y Y Y Y Y 1 2 3 3 3 4
1 1 1 1 1 Y 1 3 1 3 1 3 4
2
2 Y 4
3 1 3 Y 4
3 1 3 Y 4
3 1 3 Y 4
6 4
ID 7 4
XML 8 Y 4
4 4 4 4 4 4 4 4 4 4 4 4 4 4
106 IBM i: DB2 for i SQL
18. ()
2
10
10
ID
XM
L8
:
1. Unicode Unicode FOR BIT DATA
2. FOR BIT DATA 2 FOR BITDATA 2 FOR BIT DATA 2 X'00'
3. CONCAT /
4. 117
5. 10 10 10
6.
7. ROWID ROWID
8. XML XML IS NULL XML
NULL
v NULL v v Java
161
NULL NULL
v
2 107
v 10 10 10 10
10 SQL_DECFLOAT_WARNINGS *YES
1 -1 10 SQL_DECFLOAT_WARNINGS *YES
10 144CURRENTDECFLOAT ROUNDING MODE
-2
10 10 2 1 -1 0
10
10 10 10 10 5,0 11,0 64 19,0
10 10 10
10 63 63 - (p-s) 10 (p s 10 )10 10 1 -1 0
108 IBM i: DB2 for i SQL
10 10 10 10 1 -1 0 10
: 10 10 10 2 10
: 10 SQL CREATE TABLE 10 SQL CREATETABLE 10
10 10
10
10 10 10 10 5,0 11,0 64 19,0 BIGINT DECFLOAT(16)
10 10 (16 34) 10
10 10
DECFLOAT(16) DECFLOAT(34) DECFLOAT(16)
DECFLOAT(34) DECFLOAT(16) DECFLOAT(34) 10 144CURRENT DECFLOAT ROUNDING MODE
2 109
COBOL RPG
COBOL RPG COBOL RPG
:
v COBOL COL1 12345 SQL A 4 A 12345
01 A PIC S9999 BINARY.EXEC SQL SELECT COL1
INTO :AFROM TABLEX
END-EXEC.
v COBOL (12345 ) 2345 A
MOVE 12345 TO A.
CAST 200CAST
2
v
v 25
2
16 (X'00') 16
25. SQL SQL xi
110 IBM i: DB2 for i SQL
2 16
SQL RETURNED_SQLSTATE '01004' SQLSTATE (SQLCA SQLWARN1 'W' )
2 16
n n n
/ 113 () 117
:
CAST 200CAST
:
1 2 UTF-16 UCS-2 26
26. UTF-16 UCS-2 X'0020' X'3000' X'0020' X'20' UTF-8
2 111
:
SQL RETURNED_SQLSTATE '01004' SQLSTATE (SQLCA SQLWARN1 'W' ) C NUL NUL *NOCNULRQD CRTSQLCI CRTSQLCPPI (SET OPTION CNULRQD(*NO)) SQL RETURNED_SQLSTATE '01004' SQLSTATE ( 'N' SQLCA SQLWARN1 ) NUL
1 2 UTF-16 UCS-2 26
n n n
2 2
C NUL
n n+1 C NUL
v *CNULRQD CRTSQLCI CRTSQLCPPI (SET OPTION CNULRQD(*YES)) x-n-1 xNUL
v *NOCNULRQD CRTSQLCI CRTSQLCPPI (SET OPTION CNULRQD(*NO)) NUL
112 IBM i: DB2 for i SQL
v CCSID v CCSID 65535 v NULL v 2 CCSID 41
CCSID
v CCSID 41 CCSID
v 2 (DBCS) 1 (SBCS) CCSID
v v DBCS SBCS CCSID -2
DATE DATE DATE DATE DATE TIMETIME TIME TIME TIME TIMESTAMPTIMESTAMP TIMESTAMP TIMESTAMP TIMESTAMP
//
v
2 113
DATE
*ISOUSA*EUR *JIS 10 *YMD*MDY *DMY 8 *JUL 6
TIME
8
TIMESTAMP
26
v
DATE
*ISO*USA*EUR *JIS 10 *YMD*MDY *DMY 8 *JUL 6
TIME
*USA 8
*ISO*EUR*JIS *HMS 5 56 7 SQLWARN1 'W' 6 7
TIMESTAMP
19 19 25 1 20
XML XML
XML XML XML XML
v XML : XML SQL XML XML CURRENT IMPLICIT XMLPARSE OPTION
114 IBM i: DB2 for i SQL
|
|
|
|
|
|
|
|
XMLVALIDATE
v XML : XML XML CURRENT IMPLICIT XMLPARSE OPTION XMLVALIDATE
v XML : XML XMLPARSE (DOCUMENT expressionSTRIP WHITESPACE) XMLPARSE XML SQL
v XML : SQL FETCH SELECT INTO XML CLOBDBCLOB BLOB XML CCSID (CLIJDBC .NET ) XML XML 95XML QAQQINI CCSID
FETCHSELECT INTOSET VALUES INTO XML INSERTUPDATEMERGESETVALUES INTO CALL XML SQL SQL
NO LINK CONTROL NULL
2 115
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2
v v
DLVALUE DLVALUE URL
v (URL) v v v URL
URL URL URL
v v v v
v v DB2 UDB
(DLLINKTYPE DLURLPATH )
116 IBM i: DB2 for i SQL
27
ID ID ID ROWID GENERATED BY DEFAULT OVERRIDING SYSTEMVALUE ROWID ROWID DB2 for z/OS DB2 for i ID
:
AGE SQL
CREATE TYPE AGE AS SMALLINT WITH COMPARISONS
AGE (SMALLINT) RETURNS AGEAGE (INTEGER) RETURNS AGESMALLINT (AGE) RETURNS SMALLINT
STUDENTS STU_AGE AGE INTEGER HV_AGE
SELECT STU_AGE INTO :HV_AGE FROM STUDENTS WHERE STU_NUMBER = 200
(SMALLINT) (INTEGER) HV_AGE AGE CHAR(5)
27.
2 117
102
v v
v v
:
AGE SMALLINT
CREATE TYPE AGE AS SMALLINT WITH COMPARISONS
2 TABLE1 TABLE2 4
AGECOL AGESMINTCOL SMALLINTINTCOL INTEGERDECCOL DEC(6,2)
SQL X Y TABLE1 TABLE2 19
INSERT INTO TABLE1 (Y) SELECT X FROM TABLE2
19. (INSERT )
TABLE2.X TABLE1.Y
AGECOL AGECOL
SMINTCOL AGECOL SMALLINT AGE (AGE SMALLINT )
INTCOL AGECOL INTEGER AGE (AGE SMALLINT )
DECCOL AGECOL DECIMAL AGE
118 IBM i: DB2 for i SQL
19. (INSERT ) ()
TABLE2.X TABLE1.Y
AGECOL SMINTCOL AGE SMALLINT
AGECOL INTCOL AGE INTEGER
AGECOL DECCOL AGE DECIMAL
SQL
v SQL TRIM_ARRAY CAST SQL
v ARRAY_AGG SQL
LOB LOB LOB LOB *NOOPTLOB
2 +1
10 10
10 2 ()
10 2
2
2 119
|
|
|
|
|
|
|
|
|
|
DECFLOAT 10 2 DECFLOAT
DECFLOAT(16) DECFLOAT(34) DECFLOAT(16) DECFLOAT(34)
DECFLOAT 2 (=)
DECFLOAT 2.00 2.0 2 = () 2.0 = 2.00 2.0 = 2.00 2.0 < 2.00 DECFLOAT (UNIONSELECT DISTINCTCOUNTDISTINCTIN MINMAX )
SELECT 2.0 FROM SYSIBM.SYSDUMMYUNIONSELECT 2.00 FROM SYSIBM.SYSDUMMY
1 (2.0 2.00)
2 COMPARE_DECFLOAT TOTALORDER 2.02.00 10 -NaN< -sNaN < -Infinity < -0.10
2
2 *HEX 2 2 2 2 16 2 2
Unicode SBCS *HEX
DBCS DBCS (x'4040') Unicode UTF-16 28
2
v v *HEX v *HEX
2
(CCSID ) EBCDICASCIIDB2 LUW ()
28. UTF-16 X'0020' X'3000' X'0020'
2 121
20. ASCII Unicode EBCDIC DB2 LUW
0000 @@@@ 00009999 co-op 9999@@@@ coop @@@@COOP piano forte co-opPIANO-FORTE piano-forte COOPco-op COOP coopcoop PIANO-FORTE piano fortepiano forte 0000 PIANO-FORTEpiano-forte 9999 piano-forte
2 1 DISTINCTMAXMINUNION EXCEPTINTERSECT 620GROUP-BY
:
2
v 2 CCSID v CCSID 65535 v NULL v 2 CCSID 41
CCSID
2
21.
1
2
SBCS DBCS
Unicode
SBCS 2 2 2
DBCS 1 2 2
1 1 2
Unicode
1 1 1
122 IBM i: DB2 for i SQL
22.
1
2
2 2 2 2 2
1 2 2 2 2
1 1 2 2 2
1 1 1 2 2
1 1 1 1 2
CCSID 41CCSID
/ (DATE) (TIME) (TIMESTAMP) 0001 1 1 ()
TIME 24:00:00 00:00:00
TIMESTAMP
TIMESTAMP('1990-02-23-00.00.00') > '1990-02-22-24.00.00'
XML XML XML
DATALINK DLCOMMENTDLLINKTYPEDLURLCOMPLETEDLURLPATHDLURLPATHONLY DLURLSCHEME DLURLSERVER
2 123
|
|
|
|
ID ROWID ROWID ROWID
YOUTH CAMP_DB2_ROSTER SQL
CREATE TYPE YOUTH AS INTEGER WITH COMPARISONS
CREATE TABLE CAMP_DB2_ROSTER( NAME VARCHAR(20),
ATTENDEE_NUMBER INTEGER NOT NULL,AGE YOUTH,HIGH_SCHOOL_LEVEL YOUTH)
AGE HIGH_SCHOOL_LEVEL
SELECT * FROM CAMP_DB2_ROSTERWHERE AGE > HIGH_SCHOOL_LEVEL
SELECT * FROM CAMP_DB2_ROSTER ***INCORRECT***WHERE AGE > ATTENDEE_NUMBER
AGE ATTENDEE_NUMBER CAST
SELECT * FROM CAMP_DB2_ROSTERWHERE AGE > YOUTH(ATTENDEE_NUMBER)
SELECT * FROM CAMP_DB2_ROSTERWHERE AGE > CAST( ATTENDEE_NUMBER AS YOUTH)
SELECT * FROM CAMP_DB2_ROSTERWHERE INTEGER(AGE) > ATTENDEE_NUMBER
SELECT * FROM CAMP_DB2_ROSTERWHERE CAST(AGE AS INTEGER) > ATTENDEE_NUMBER
124 IBM i: DB2 for i SQL
v UNIONUNION ALLEXCEPTINTERSECT v CASE v COALESCEIFNULLMAXMIN VALUE v IN IN
/*+ - 180CONCAT 185
2
NULL NULL NULL
v CHAR(10) CHAR(5) CHAR(10) CHAR(5) 5
v
SMALLINT SMALLINT
SMALLINT
INTEGER SMALLINTINTEGER
INTEGER
BIGINT SMALLINTINTEGERBIGINT
BIGINT
2 125
DECIMAL(w,x) SMALLINT DECIMAL(p,x) (p = min(mp, x+max(w-x,5))
mp = 31 63) ( 1 )
DECIMAL(w,x) INTEGER DECIMAL(p,x) (p = min(mp, x+max(w-x,11))
mp = 31 63) ( 1 )
DECIMAL(w,x) BIGINT DECIMAL(p,x) (p = min(mp, x+max(w-x,19))
mp = 31 63) ( 1 )
DECIMAL(w,x) DECIMAL(y,z) NUMERIC(y,z,)
DECIMAL(p,s) (p = min(mp, max(x,z)+max(w-x,y-z))
s = max(x,z)
mp = 31 63) ( 1 )
DECIMAL(w,x) DECIMAL(w,x)
NUMERIC(w,x) SMALLINT NUMERIC(p,x) (p = min(mp, x + max(w-x,5))
mp = 31 63) ( 1 )
NUMERIC(w,x) INTEGER NUMERIC(p,x) (p = min(mp, x + max(w-x,11))
mp = 31 63) ( 1 )
NUMERIC(w,x) BIGINT NUMERIC(p,x) (p = min(mp, x + max(w-x,19))
mp = 31 63) ( 1 )
NUMERIC(w,x) NUMERIC(y,z) NUMERIC(p,s) (p = min(mp, max(x,z) + max(w-x, y-z))
s = max(x,z)
mp = 31 63) ( 1 )
NUMERIC(w,x) NUMERIC(w,x)
NONZERO SCALE BINARY NONZERO SCALE BINARY NONZERO SCALE BINARY
(2 2 )
REAL REAL REAL
REAL SMALLINTINTEGERBIGINTDECIMALNUMERIC
DOUBLE
DOUBLE SMALLINTINTEGERBIGINTDECIMALNUMERICREALDOUBLE
DOUBLE
DECFLOAT(n) REALDOUBLEINTEGERSMALLINT
DECFLOAT(n)
126 IBM i: DB2 for i SQL
DECFLOAT(n) DECIMAL(p16,s)
DECFLOAT(34)
DECFLOAT(n) DECFLOAT(m) DECFLOAT(max(n,m))
:
1. mp 63
v w y 31 v CRTSQLxxx RUNSQLSTM SET OPTION DECRESULT 63
mp 31
CCSID Unicode
CHAR(x) CHAR(y) CHAR(z) (z = max(x,y))
GRAPHIC(x) CHAR(y) GRAPHIC(y)
GRAPHIC(z) (z = max(x,y))
VARCHAR(x) CHAR(y) VARCHAR(y)
VARCHAR(z) (z = max(x,y))
VARCHAR(x) GRAPHIC(y) VARGRAPHIC(z) (z = max(x,y))
VARGRAPHIC(x) CHAR(y)VARCHAR(y)GRAPHIC(y) VARGRAPHIC(y)
VARGRAPHIC(z) (z = max(x,y))
CLOB(x) CHAR(y)VARCHAR(y) CLOB(y)
CLOB(z) (z = max(x,y))
CLOB(x) GRAPHIC(y) VARGRAPHIC(y)
DBCLOB(z) (z = max(x,y))
DBCLOB(x) CHAR(y)VARCHAR(y)CLOB(y)GRAPHIC(y)VARGRAPHIC(y) DBCLOB(y)
DBCLOB(z) (z = max(x,y))
CCSID 130
2 127
2
2 2 FOR BIT DATABINARYVARBINARYBLOB 2 2
BINARY(x) BINARY(y) CHAR(y) FOR BIT
DATA
BINARY(z) (z = max(x,y))
VARBINARY(x) BINARY(y)VARBINARY(y)CHAR(y) FOR BIT
DATAVARCHAR(y) FOR
BIT DATA
VARBINARY(z) (z = max(x,y))
VARCHAR(x) FOR
BIT DATA
BINARY(y) VARBINARY(z) (z = max(x,y))
BLOB(x) BINARY(y)VARBINARY(y)BLOB(y)CHAR(y)FOR BIT DATA VARCHAR(y)FOR BIT DATA
BLOB(z) (z = max(x,y))
/
DATE DATE Unicode CLOB DATE
TIME TIME Unicode CLOB TIME
TIMESTAMP TIMESTAMP Unicode CLOB TIMESTAMP
DATE DATECHAR(y)VARCHAR(y)GRAPHIC(y) VARGRAPHIC(y)
DATE
128 IBM i: DB2 for i SQL
TIME TIMECHAR(y)VARCHAR(y)GRAPHIC(y) VARGRAPHIC(y)
TIME
TIMESTAMP TIMESTAMPCHAR(y)VARCHAR(y)GRAPHIC(y)VARGRAPHIC(y)
TIMESTAMP
NO LINKCONTROL NO LINK CONTROL FILE LINK CONTROL READ PERMISSION FS FILE LINK CONTROL READ PERMISSION FS FILE LINK CONTROL READPERMISSION DB FILE LINK CONTROL READPERMISSION DB DATALINK DATALINK
DATALINK(x) DATALINK(y) DATALINK(z) (z = max(x,y))
ROWID
ROWID ROWID ROWID
XML
XML XML XML
CCSID 95XML SQL_XML_DATA_CCSID QAQQINI
2 129
|
|
|
|
|
UNIONUNION ALLEXCEPTINTERSECT (MAXMINVALUECOALESCEIFNULL CONCAT CASE ) CCSID CCSID
CCSID CCSID 2 CCSID CCSID CCSID CCSID CCSID CCSID CCSID CCSID 1 CCSID CCSID CCSID CCSID
v CCSID CCSID v CCSID 65535 CCSID 65535 29
v CCSID CCSID
23.
1
2
SBCS DBCS Unicode
SBCS 2 2 2
DBCS 1 2 2
1 1 2
Unicode
1 1 1
v CCSID
24. CCSID
1
2
1 1 1 1 1
2 1 1 1 1
2 2 1 1 1
29. CLOB DBCLOB CCSID CCSID
130 IBM i: DB2 for i SQL
24. CCSID ()
1
2
2 2 1 1 1
2 2 2 2 1
COLA COLB COLC CCSID 37278 500 COLA CONCAT COLB CONCAT COLC CCSID
1. COLA CONCAT COLB CCSID 37 1 CCSID
2. CONCAT COLC CCSID 500 1 2 2 CCSID
CASE IN MAX MINVALUECOALESCEIFNULL CONCAT UNIONUNION ALLEXCEPT INTERSECT
v CCSID v CCSID 65535 v NULL v 2 CCSID 41
CCSID
CCSID 41CCSID
2 131
( ) 1 10
NOT NULL
19 64 64 64 10
64 -15 +100 32767 720176 12345678901
10 10 2 63 10
() () 10 10 10 10
25.5 1000. -15. +37589.3333333333
E 2 2 2 10 24 17 2 3
15E1 2.E5 2.2E-1 +5.E+2
132 IBM i: DB2 for i SQL
10 10 10 E 2 2 2 10 DECFLOAT(34) 42 34 2 4
E 2 10
v 17 () v (-308 308 )
10 INFINITYNAN SNAN INFINITY INFINITY INFINITY INFNAN Not a Number (NaN) NaN SNAN NaN (sNaN) NAN SNAN SNAN INSERT VALUES
(INFINITYNANSNAN) 10
CAST('SNAN' AS DECFLOAT(34))
1.8E308 -1.23456789012345678E-2 SNAN -INFINITY
2
v 2 32740 2 1 2
v X 16
2 133
|
|
|
|
|
|
16 32762 16 A F () 16 1 16 1
CCSID DBCS SBCS
CCSID (ASCII ) CCSID CCSID CCSID CCSID
CCSID CCSID
v STRSQL CCSIDv RUNSQLSTM STRREXPRC CCSID
v CRTSQLxxx SQL CCSID CRTSQLxxx CCSID
SQL CCSID PREPARE CCSID PREPARE CCSID
/ 89/
'Peggy' '14.12.1990' '32' 'DON''T CHANGE' '' X'FFFF'
2 (DBCS UTF-16 )
DBCS
16370 DBCS 3
134 IBM i: DB2 for i SQL
SQL G SBCS SBCS ' EBCDIC (X'7D')
PL/I G DBCS 1 2 DBCS PL/I PL/I
16 DBCS 16 DBCS
GX'ssss' ssss 0 32760 16 4 4 1 DBCS 16 ('0E'X '0F'X)
CCSID (ASCII ) CCSID DBCS CCSID CCSID SQL CCSID DBCSCCSID CCSID DBCS CCSID CCSID 65535
DBCS CCSID i5/OS Information Center Use DBCS CCSIDs CCSID
Unicode
Unicode 2 (N UX) Unicode
N'ssss'
2 135
../nls/rbagsuseccsiddesign.htm
ssss 16370 CCSID Unicode CCSID
16 Unicode
UX'ssss'
ssss 0 32760 16 4 4 1 Unicode
Unicode CCSID 13488 (UCS-2) CCSID 1200 (UTF-16) xi
2 2 2
2 2
v BX 16 16 32740 16 A F ()
v X 16 16 32740 16 A F ()
CCSID 65535
2 2 2 2 xi
BX'FFFF'X'FFFF'
//
/ 89/ANSI/ISO SQL
136 IBM i: DB2 for i SQL
ANSI/ISO SQL 3
v DATE 'yyyy-mm-dd'
DATE
v TIME 'hh:mm:ss'
TIME
v TIMESTAMP 'yyyy-mm-dd hh:mm:ss.nnnnnn'
TIMESTAMP
0 1990-03-02 08:30:00.10 1990-03-02 08:30:00.100000
DATE '2003-09-03'
v v
(DECFLOATDECIMAL DOUBLE_PRECISIONFLOATREAL CAST )
v (CHARVARCHARCLOBGRAPHICVARGRAPHIC CAST )
25.
SQL
SQL SQL (CRTSQLxxx) OPTION *JOB *PERIOD*COMMA *SYSVAL SQL DECMPT SETOPTION (CRTSQLxxx SQL )
2 137
25. ()
SQL
SQL SQL
SQL (STRSQL) DECPNT SQL (RUNSQLSTM) DECMPT (STRSQL RUNSQLSTM SQL )
(CLI)
SQL_ATTR_DATE_FMT SQL_ATTR_DATE_SEP (CLI SQL (ODBC))
IBM Developer Kit for Java JDBC SQLJ
(Decimal Separator)(JDBC SQLJ IBMDeveloper Kit for Java)
IBM i Access Family ODBC ODBC
ODBC (Advanced Server Options) (Decimal Separator)(ODBC System i Access)
IBM Toolbox for Java JDBC
JDBC (Format)(ODBC System i Access)(IBM Toolbox for Java IBMToolbox for Java)
v v 1
v
10
VALUES(9999999999,, 111)
*APOST *QUOTE COBOL COBOL *APOST (') *QUOTE (") *APOST *QUOTE COBOL SQL *APOST (') SQL (") SQL *QUOTE SQL
138 IBM i: DB2 for i SQL
SQL *APOST *QUOTE *APOST *QUOTE
COBOL SQL (') SQL (")
2 139
SQL CCSID CCSID
CURRENT CLIENT_ACCTNGCLIENT ACCTNGCURRENT CLIENT_APPLNAMECLIENT APPLNAMECURRENT CLIENT_PROGRAMIDCLIENT PROGRAMIDCURRENT CLIENT_USERIDCLIENT USERIDCURRENT CLIENT_WRKSTNNAMECLIENT WRKSTNNAMECURRENT DATE
(1)CURRENT_DATECURRENT DEBUG MODECURRENT DECFLOAT ROUNDING MODECURRENT DEGREECURRENT IMPLICIT XMLPARSE OPTIONCURRENT PATHCURRENT FUNCTION PATH
(1)CURRENT_PATHCURRENT SCHEMACURRENT_SCHEMACURRENT SERVERCURRENT_SERVERCURRENT TIME
(1)CURRENT_TIMECURRENT TIMESTAMP
(1)CURRENT_TIMESTAMPCURRENT TIMEZONECURRENT_TIMEZONESESSION_USERUSERSYSTEM_USER
:
1 SQL 2003 Core
NULL
CURRENT CLIENT_ACCTNGCURRENT CLIENT_ACCTNG VARCHAR(255)
140 IBM i: DB2 for i SQL
|
|
3
v Set Client Information (SQLESETI) API
v CLI SQLSetConnectAttr() SQL_ATTR_INFO_ACCTSTR
v ODBC SQLSetConnectAttr() ODBC_ATTR_INFO_ACCTSTR
v JDBC setClientInfo ClientAccounting
VALUES CURRENT CLIENT_ACCTNGINTO :ACCT_STRING
CURRENT CLIENT_APPLNAMECURRENT CLIENT_APPLNAME VARCHAR(255)
3
v Set Client Information (SQLESETI) API
v CLI SQLSetConnectAttr() SQL_ATTR_INFO_APPLNAME
v ODBC SQLSetConnectAttr() ODBC_ATTR_INFO_APPLNAME
v JDBC setClient