SQL Functions Programmer's Reference [1 ed.] 9780764569012, 0764569015

Gives programmers two-in-one coverage, with both a "how-to" on SQL functions and a complete SQL functions refe

261 99 3MB

English Pages 793 Year 2005

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Cover......Page 1
Contents......Page 13
Introduction......Page 37
Introduction to SQL......Page 43
Overview of Vendor Implementations of SQL......Page 44
MySQL......Page 45
Connecting to SQL Databases......Page 46
Creating SQL Databases......Page 47
Querying SQL Databases......Page 49
Manipulating Data in SQL Databases......Page 51
Summary......Page 53
What Is a Function?......Page 55
Simple UNIX Shell Function Example......Page 56
ANSI SQL Functions......Page 57
Built-in Functions......Page 58
Practical Uses of Functions......Page 59
a SQL Function......Page 60
or by Reference......Page 64
Scope of a Function......Page 66
Overloading......Page 67
and Non-Deterministic Functions......Page 69
IBM DB2 UDB......Page 71
Microsoft SQL Server......Page 72
MySQL and PostgreSQL......Page 73
Summary......Page 74
Types of Functions......Page 75
Classifying Built-in SQL Functions......Page 76
Oracle......Page 77
IBM DB2 UDB......Page 78
Microsoft SQL Server and Sybase ASE......Page 79
PostgreSQL......Page 81
Overview of Built-in Functions by Vendor......Page 82
Summary......Page 90
Procedural versus Declarative Languages......Page 91
Extensions to SQL......Page 93
Oracle PL/SQL......Page 94
Microsoft or Sybase Transact-SQL......Page 96
IBM Procedural SQL......Page 97
PostgreSQL......Page 99
Summary......Page 100
Common ANSI SQL Functions......Page 101
Aggregate Functions......Page 102
AVG()......Page 104
COUNT()......Page 105
MAX() and MIN()......Page 106
String Functions......Page 107
ASCII()......Page 108
CONCAT()......Page 109
LENGTH() or LEN()......Page 110
Mathematical Functions......Page 111
ABS()......Page 114
ASIN()......Page 115
CEIL() or CEILING() and FLOOR()......Page 116
COT()......Page 117
EXP()......Page 118
MOD()......Page 119
POWER()......Page 121
ROUND()......Page 122
SIGN()......Page 123
SQUARE()......Page 124
TANH()......Page 125
TRUNC() or TRUNCATE()......Page 126
NULLIF()......Page 127
Summary......Page 128
Oracle Query Syntax......Page 129
Aggregate Functions......Page 132
AVG()......Page 133
CORR()......Page 134
COUNT()......Page 135
GROUPING()......Page 136
STDDEV()......Page 137
SUM()......Page 138
Character Functions......Page 139
CHR() and NCHR()......Page 141
INITCAP()......Page 142
LPAD() and RPAD()......Page 143
TRIM(), LTRIM(), and RTRIM()......Page 144
SOUNDEX()......Page 145
SUBSTR()......Page 146
TRANSLATE()......Page 147
Conversion Functions......Page 148
CAST()......Page 149
CONVERT()......Page 150
TO_CHAR()......Page 152
UNISTR()......Page 155
Date and Time Functions......Page 156
ADD_MONTHS()......Page 157
DBTIMEZONE and SESSIONTIMEZONE......Page 158
EXTRACT()......Page 159
NEW_TIME()......Page 160
ROUND()......Page 161
SYSDATE......Page 162
TRUNC()......Page 163
ABS()......Page 165
CEIL() and FLOOR()......Page 166
SIGN()......Page 167
ROUND()......Page 168
Miscellaneous Single-Row Functions......Page 169
COALESCE()......Page 170
DECODE()......Page 171
DUMP()......Page 172
GREATEST()......Page 173
NULLIF()......Page 174
NVL2()......Page 175
VSIZE()......Page 176
Summary......Page 177
IBM DB2 Universal Database (UDB) SQL Functions......Page 179
DB2 UDB Query Syntax......Page 180
String Functions......Page 182
INSERT()......Page 184
LENGTH()......Page 185
LTRIM() and RTRIM()......Page 186
REPLACE()......Page 187
SPACE()......Page 188
TRUNC() or TRUNCATE()......Page 189
Date and Time Functions......Page 190
DATE()......Page 192
DAYNAME()......Page 193
DAYOFWEEK_ISO()......Page 194
HOUR()......Page 195
JULIAN_DAY()......Page 196
MIDNIGHT_SECONDS()......Page 197
MONTH()......Page 198
TIME()......Page 199
TIMESTAMP()......Page 200
TIMESTAMPDIFF()......Page 201
WEEK()......Page 202
YEAR()......Page 203
Conversion Functions......Page 204
DEC or DECIMAL......Page 205
DOUBLE or DOUBLE_PRECISION......Page 206
TRANSLATE()......Page 207
VARCHAR()......Page 208
DECRYPT_BIN()......Page 209
ENCRYPT()......Page 210
IBM DB2 UDB Special Registers......Page 211
CURRENT DATE......Page 212
CURRENT EXPLAIN MODE......Page 213
CURRENT ISOLATION......Page 214
CURRENT PATH......Page 215
CURRENT SCHEMA......Page 216
CURRENT TIMESTAMP......Page 217
SESSION_USER......Page 218
Miscellaneous Functions......Page 219
COALESCE() and VALUE()......Page 220
GENERATE_UNIQUE()......Page 221
RAND()......Page 222
TABLE_NAME()......Page 223
Summary......Page 224
SQL Server Query Syntax......Page 225
String Functions......Page 227
CHAR()......Page 229
DIFFERENCE()......Page 230
LEN()......Page 231
LTRIM() and RTRIM()......Page 232
PATINDEX()......Page 233
REPLICATE()......Page 234
SOUNDEX()......Page 235
STR()......Page 236
STUFF()......Page 237
UPPER()......Page 238
Date and Time Functions......Page 239
DATEADD()......Page 240
@@DATEFIRST()......Page 241
DATEPART()......Page 242
DAY()......Page 243
MONTH()......Page 244
Metadata Functions......Page 245
COL_LENGTH()......Page 246
DB_NAME()......Page 247
FILE_ID()......Page 248
@@CONNECTION......Page 249
@@LANGUAGE......Page 250
@@MAX_CONNECTIONS......Page 252
@@SPID......Page 253
Security Functions......Page 254
HAS_DBACCESS()......Page 255
USER......Page 256
USER_NAME()......Page 257
System Functions......Page 258
CASE......Page 261
CAST() and CONVERT()......Page 262
COALESCE()......Page 266
CURRENT_USER......Page 267
@@ERROR......Page 268
HOST_NAME()......Page 269
IDENTITY()......Page 270
ISNULL()......Page 271
NEWID()......Page 272
ROWCOUNT_BIG and @@ROWCOUNT......Page 273
@@TRANCOUNT......Page 274
SCOPE_IDENTITY()......Page 275
System Statistical Functions......Page 276
@@IDLE......Page 277
@@TOTAL_ERRORS......Page 278
@@TOTAL_WRITE......Page 279
fn_virtualfilestats()......Page 280
Undocumented Functions......Page 281
FN_GET_SQL()......Page 282
PWDCOMPARE()......Page 283
TSEQUAL()......Page 284
Summary......Page 285
Sybase ASE SQL Built-In Functions......Page 287
Sybase Query Syntax......Page 288
String Functions......Page 289
CHARINDEX()......Page 291
COMPARE()......Page 292
LTRIM() and RTRIM()......Page 294
PATINDEX()......Page 295
REVERSE()......Page 296
SORTKEY()......Page 297
STR()......Page 299
STUFF()......Page 300
USCALAR()......Page 301
Date and Time Functions......Page 302
DATEADD()......Page 303
DATENAME()......Page 304
DATEPART()......Page 305
Conversion Functions......Page 306
CONVERT()......Page 308
INTTOHEX()......Page 312
Security Functions......Page 313
Aggregate Functions......Page 314
AVG()......Page 315
MAX()......Page 316
Mathematical Functions......Page 317
ABS()......Page 319
ATAN()......Page 320
CEILING()......Page 321
DEGREES()......Page 322
LOG()......Page 323
POWER()......Page 324
RAND()......Page 325
ROUND()......Page 326
SIN()......Page 327
Text and Image Functions......Page 328
TEXTVALID()......Page 329
System Functions......Page 330
COL_LENGTH()......Page 331
COL_NAME()......Page 332
DB_ID()......Page 333
OBJECT_ID()......Page 334
RAND()......Page 335
SUSER_ID()......Page 336
TSEQUAL()......Page 337
USER_ID()......Page 338
VALID_NAME()......Page 339
VALID_USER()......Page 340
Unary System Functions......Page 341
@@CLIENT_CSID......Page 343
@@CONNECTIONS......Page 344
@@ERRORLOG......Page 345
@@IDENTITY......Page 346
@@LANGID......Page 347
@@MAX_CONNECTIONS......Page 348
@@NESTLEVEL......Page 349
@@ROWCOUNT......Page 350
@@SQLSTATUS......Page 351
@@TOTAL_ERRORS......Page 352
@@TRANCHAINED......Page 353
@@TRANSTATE......Page 354
@@VERSION......Page 355
Summary......Page 356
MySQL Query Syntax......Page 357
Aggregate Functions......Page 359
COUNT()......Page 360
Numeric Functions......Page 361
ABS()......Page 364
ATAN2()......Page 365
BIT_COUNT()......Page 366
CONV()......Page 367
DEGREES()......Page 368
FORMAT()......Page 369
LEAST()......Page 370
MOD()......Page 371
POW() or POWER()......Page 372
ROUND()......Page 373
STD() or STDDEV()......Page 374
String Functions......Page 375
ASCII()......Page 380
COMPRESS()......Page 381
CONCAT_WS()......Page 382
FIELD()......Page 383
INSERT()......Page 384
ISNULL()......Page 385
LENGTH(), CHAR_LENGTH(), and CHARACTER_LENGTH()......Page 386
LOCATE()......Page 387
MAKE_SET()......Page 388
OCT()......Page 389
REPLACE()......Page 390
RPAD()......Page 391
SUBSTRING()......Page 392
SUBSTRING_INDEX()......Page 393
UNCOMPRESS()......Page 394
Date-Time Functions......Page 395
CURTIME()......Page 398
DATE_ADD() or DATE_SUB()......Page 399
DATE_FORMAT()......Page 400
DAYNAME()......Page 401
FROM_DAYS()......Page 402
MINUTE()......Page 403
PERIOD_ADD()......Page 404
SEC_TO_TIME()......Page 405
TO_DAYS()......Page 406
Miscellaneous Functions......Page 407
CONNECTION_ID()......Page 408
Summary......Page 409
PostgreSQL Query Syntax......Page 411
Aggregate Functions......Page 413
AVG()......Page 414
MAX()......Page 415
SUM()......Page 416
String Functions......Page 417
ASCII()......Page 419
BIT_LENGTH()......Page 420
CONVERT()......Page 421
INITCAP()......Page 422
LPAD()......Page 423
MD5()......Page 424
POSITION()......Page 425
REPEAT()......Page 426
RPAD()......Page 427
SUBSTRING()......Page 428
UPPER()......Page 429
Mathematical Functions......Page 430
ABS()......Page 431
ATAN()......Page 432
CEIL()......Page 433
COT()......Page 434
FLOOR()......Page 435
MOD()......Page 436
RADIANS()......Page 437
ROUND()......Page 438
SIN()......Page 439
Date-Time Functions......Page 440
AGE()......Page 441
DATE_PART()......Page 442
EXTRACT()......Page 443
LOCALTIMESTAMP......Page 444
Geometric Functions......Page 445
AREA()......Page 446
DIAMETER()......Page 447
ISOPEN()......Page 448
PCLOSE()......Page 449
WIDTH()......Page 450
COALESCE()......Page 451
CURRENT_SCHEMA......Page 452
NULLIF()......Page 453
VERSION......Page 454
Summary......Page 455
User-Defined Functions or SQL Routines?......Page 457
Functions versus Procedures......Page 458
Creating UDFs......Page 459
Summary......Page 461
PL/SQL Compiler......Page 463
Acquiring Permissions......Page 464
Creating UDFs......Page 466
Creating a Recursive UDF......Page 470
Creating a Table-Valuated, Pipelined UDF......Page 472
Altering UDFs......Page 473
Debugging PL/SQL Functions......Page 474
DBMS_OUTPUT......Page 475
Error Handling in PL/SQL Functions......Page 476
to an Oracle Package......Page 479
Overloading......Page 481
into Machine Code......Page 482
UDFs in the RDBMS......Page 485
UDFs from SQL......Page 487
Summary......Page 489
Creating User-Defined Functions with IBM DB2 UDB......Page 491
Acquiring Permissions......Page 492
Creating UDFs......Page 493
Creating Scalar UDFs......Page 494
Creating Table UDFs......Page 496
Creating Sourced UDFs......Page 498
Overriding with Sourced UDFs......Page 500
Dropping UDFs......Page 501
Debugging UDFs......Page 503
Error Handling in UDFs......Page 505
Using Error Messages......Page 507
Overloading......Page 513
Using SQL PL UDF in Transactions......Page 515
UDFs in the Database......Page 516
Restriction on UDFs......Page 517
Summary......Page 518
Acquiring Permissions......Page 519
Creating UDFs......Page 520
Rules for Naming Identifiers......Page 521
Creating Scalar-Valued UDFs......Page 524
Creating Inline, Table-Valued UDFs......Page 526
Creating Multistatement, Table-Valued UDFs......Page 528
Schema-Bound UDFs......Page 529
Recursive Functions......Page 530
Creating Template UDFs......Page 531
Creating UDFs with Extended Stored Procedures......Page 532
Built-in System UDFs......Page 534
Creating a System UDF......Page 535
Altering UDFs......Page 537
Dropping UDFs......Page 538
Debugging Transact-SQL UDFs......Page 539
Error Handling in Transact-SQL UDFs......Page 544
Finding Information about UDFs......Page 545
Restrictions on Transact-SQL UDFs......Page 549
Summary......Page 550
Acquiring Privileges......Page 551
Creating UDFs......Page 552
Handling NULL Argument Values......Page 555
Mapping Java and SQL Data Types......Page 556
Altering UDFs......Page 558
Error Handling in UDFs......Page 559
Finding Information about UDFs......Page 560
Summary......Page 561
Creating UDFs......Page 563
Altering UDFs......Page 567
Finding Information about UDFs......Page 568
Summary......Page 571
Creating User-Defined Functions in PostgreSQL......Page 573
Acquiring Permissions......Page 574
Query SQL Functions......Page 575
Using Composite Types with PostgreSQL Functions......Page 576
SQL Row and Table Functions......Page 578
Dropping UDFs......Page 579
Overloading UDFs......Page 580
PG_PROC Functions......Page 581
ROUTINES Functions......Page 582
ROUTINE PRIVILEGES Functions......Page 584
Summary......Page 585
Identifying Your Reporting Needs......Page 587
Creating Standardized Reports......Page 588
Processing Ad Hoc Query Requests......Page 591
Effectively Delivering Data to the Requestor......Page 595
Summary......Page 596
Understanding Migration of Data......Page 597
Databases Migrating Databases......Page 598
Planning Migration......Page 599
Implementing the Migration Plan......Page 600
Common Functions Used......Page 601
Examples......Page 602
Summary......Page 606
Using Functions to Feed a Data Warehouse......Page 607
Feeding a Data Warehouse......Page 608
Querying a Data Warehouse......Page 609
Data Scrubbing......Page 611
Standardizing Data from Multiple Database Environments......Page 612
Summarizing Data......Page 614
Concatenating Data......Page 616
Breaking Data Apart and Putting It Back Together......Page 617
Summary......Page 618
Embedded Functions and Advanced Uses......Page 619
ESQL Statements......Page 620
Static versus Dynamic Querying......Page 621
Common Uses of Embedded Functions......Page 623
Single-Row Functions......Page 624
Scalar Functions......Page 626
Aggregate Functions......Page 627
Mathematical Functions......Page 628
Date and Time Functions......Page 630
String Functions......Page 631
Summary......Page 632
and Concatenation......Page 633
SQL Code......Page 636
Summary......Page 640
Calling Functions from an Application......Page 643
Connection Pools......Page 644
Modeling the Process......Page 646
Creating or Identifying the SQL Functions......Page 647
Coding the Application Component......Page 648
and SQL Server......Page 650
and Oracle......Page 653
ASP.NET......Page 655
Summary......Page 658
Empowering the Query with Functions and Views......Page 659
Understanding How Views Empower Queries......Page 660
Functions in Views......Page 662
Summary......Page 667
Performance......Page 669
Transactional Database Architecture......Page 670
Analytical Processing Database Architecture......Page 671
Effects on Database Performance......Page 672
in SQL Statements......Page 673
GROUP BY Clause......Page 674
and Performance......Page 675
Summary......Page 676
for the Programmer......Page 677
Oracle......Page 678
USER_CATALOG......Page 680
USER_VIEWS......Page 681
FUNCTIONS......Page 683
SCHEMATA......Page 684
TABLES......Page 685
VIEWS......Page 686
PostgreSQL......Page 687
Pg_user......Page 688
Pg_views......Page 689
SYSCOLUMNS......Page 690
SYSCOMMENTS......Page 691
SYSOBJECTS......Page 692
SYSUSERS......Page 693
Sybase......Page 694
SYSCOLUMNS......Page 695
SYSTABLE......Page 696
MySQL......Page 697
Summary......Page 698
Built-in Function Cross-Reference Table......Page 699
ANSI SQL Keywords......Page 711
Oracle Keywords......Page 722
Oracle 9i Reserved Words and Keywords......Page 723
Oracle 10g Reserved Words and Keywords......Page 724
DB2 Reserved Words and Keywords......Page 725
SQL Server 2000 Reserved Words......Page 727
SQL Server ODBC Reserved Words......Page 728
MySQL Reserved Words and Keywords......Page 731
Sybase Reserved Words and Keywords......Page 732
PostgreSQL Reserved Words and Keywords......Page 733
ANSI SQL Data Types......Page 737
IBM DB2 Data Types......Page 738
MySQL Data Types......Page 739
PostgreSQL Data Types......Page 740
Oracle 9i Privileges......Page 741
Oracle 10g Privileges......Page 743
IBM DB2 Database Privileges......Page 745
IBM DB2 Privileges......Page 746
IBM DB2 Object Privileges......Page 747
Sybase Permissions......Page 748
PostgreSQL Privileges......Page 749
PostgreSQL Object Privileges......Page 750
ODBC and Stored Procedures and Functions......Page 751
JDBC and Stored Procedures/Functions......Page 753
Glossary......Page 755
Index......Page 763

SQL Functions Programmer's Reference [1 ed.]
 9780764569012, 0764569015

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Recommend Papers