Department of Computer and Information Science, School of Science, IUPUI Queries Dale Roberts, Lecturer Computer Science, IUPUI E-mail: [email protected] Dale Roberts 1 Getting Text Information and Changing It There are 2 kinds of functions. Functions either: return modified the data. return information about the data. There are many kinds of functions: String functions (Chapter 7) Numeric functions (Chapter 8) Date functions (Chapter 9) Conversion functions (Chapter 10) Group functions (Chapter 11) DECODE and CASE (Chapter 17) User Defined (Chapter 29) Dale Roberts 2 String Functions CHAR and VARCHAR2 are “string” data types in Oracle. CHAR is fixed length, VARCHAR2 is variable length. || is for string concatenation. For example: SELECT CITY||’, ’||STATE||’ FROM CUSTOMER; • • • • ’||ZIP AS ADDRESS ADDRESS -----------------------------------------INDIANAPOLIS, IN 46250 RED WOOD SHORES, ca 94710 INITCAP, UPPER, LOWER changes capitalization. For example: SELECT INITCAP(CITY)||’, ’||UPPER(STATE)||’ AS ADDRESS FROM CUSTOMER; • • • ’||ZIP ADDRESS -----------------------------------------Indianapolis, IN 46250 Red Wood Shores, CA 94710 Dale Roberts 3 String Functions SUBSTR returns only a part of a string. Example: SELECT SUBSTR(ADDRESS,1,8) FROM CUSTOMER; • SUBSTR(A -------INDIANAP RED WOOD INSTR returns the relative position of a character within the string. Example: SELECT ADDRESS, INSTR(ADDRESS, ’, ’) FROM CUSTOMER; • • • • ADDRESS ---------------------------INDIANAPOLIS, IN 46250 RED WOOD SHORES, CA 94710 INSTR(ADDRESS, ’, ’ ) --------------------13 16 Dale Roberts 4 String Functions Example combining INITCAP, SUBSTR and INSTR: SELECT INITCAP(SUBSTR(ADDRESS,1,INSTR(ADDRESS,’, ’)-1)) FROM CUSTOMER; INITCAP(SUBSTR(ADDRESS,1,INSTR(ADDRESS,’, ’)-1)) • -----------------------------------------------• Indianapolis • Red Wood Shores LENGTH returns length of string. LTRIM, RTRIM returns the string without the specified leading (ltrim) or trailing (rtrim) characters. Excellent for cleaning up data fields that contain garbage. LPAD, RPAD returns the string with extra characters to pad out to the specified length either on the left (lpad) or the right (rpad). Dale Roberts 5 Numeric Functions Single Value Functions: ABS, ACOS, ASIN, ATAN, ATAN2, BITAND, CEIL, COS, COSH, EXP, FLOOR, LN, LOG, MOD, NVL, POWER, ROUND, SIGN, SIN, SINH, SQRT, TAN, TANH, TRUNC, VSIZE Group Functions: AVG, CORR, COUNT, COVAR_POP, COVAR_SAMP, CUME_DIST, DENSE_RANK, FIRST, GROUP_ID, GROUPING, GROUPING_ID, LAST, MAX, MIN, PERCENTILE_COUNT, PERCENTILE_DISC, PERCENT_RANK, RANK, STDDEV, STDDEV_POP, STDDEV_SAMP, SUM, VAR_POP, VAR_SAMP, VARIANCE List Functions: COALESCE, GREATEST, LEAST Ø 9i new functions in bold italics Dale Roberts 6 Date Functions Current date functions: SYSDATE, CURRENT_DATE, CURRENT_TIMESTAMP, LOCALTIMESTAMP, SESSIONTIMEZONE, SYSTIMESTAMP Date functions: ADD_MONTS, GREATEST, LEAST, LAST_DAY, MONTHS_BETWEEN, NEW_TIME, NEXT_DAY, TO_DATE, TO_CHAR, ROUND, TRUNC, DBTIMEZONE, EXTRACT, FROM_TZ, NUMTODSINTERVAL, NUMTOYMINTERVAL, SYS_EXTRACT_UTC, TO_DSINTERVAL, TO_TIMESTAMP, TO_TIMESTAMP_TZ, TO_YMINTERVAL, TZ_OFFSET Ø 9i new functions in bold italics Dale Roberts 7 Grouping Things Together ANSI standard SQL Group functions: AVG, COUNT, MAX, MIN, STDDEV, SUM, VARIANCE Others: 8i: GROUPING (used with CUBE and ROLLUP, see Ch.13) 9i statistical functions: CORR, COVAR_POP, COVAR_SAMP, CUME_DIST, DENSE_RANK, FIRST, FIRST_VALUE, GROUP_ID, GROUPING_ID, LAST, PERCENTILE_CONT, PERCENTILE_DISC, PERCENT_RANK, RANK, REGR, STDDEV_POP, STDDEV_SAMP, VAR_POP, VAR_SAMP Obsolete? In 9i: GLB, LUB Dale Roberts 8 Grouping Things Together A group function returns a single row for an entire group of queried rows. NULL values are ignored in group functions. Without a GROUP BY clause the data returned for a group function is one row for the entire table. With a GROUP BY clause, one row is returned for each group your data is subdivided into. The WHERE clause is evaluated before data are grouped in GROUP BY clause. The HAVING clause is similar to the WHERE clause, but it works on entire groups of data. DISTINCT keyword forces only unique occurrences to be considered in data groups. When using a group by clause, these are the only selectable items: constants, group functions, and group expressions -- these must match exactly the group by clause Dale Roberts 9 Grouping Things Together Order of clause execution within select statements: 1. If the statement contains a WHERE clause, removes all rows that do not satisfy it. 2. Group rows together based on the GROUP BY clause. 3. Calculate the results of the group functions for each group. 4. Choose and eliminate groups based on the HAVING clause. 5. Order the results based on the ORDER BY clause. Specify the GROUP BY and HAVING clauses after the WHERE clause. If both the GROUP BY and HAVING clauses are specified, they can appear in either order. A side effect of GROUP BY is a ordered result, same effect as having an ORDER BY clause of the GROUP BY columns. Dale Roberts 10 Grouping Things Together Views over groups, commonly used for percent of total calculations. Inline view example from p. 214: select categoryname, counter, (counter/bookcount)*100 “pct” from category_count, (select count(*) as bookcount from bookshelf) order by categoryname; Group expressions can be used in the HAVING clause, even those not used in the SELECT clause. Dale Roberts 11 Acknowledgements Loney, Oracle Database 10g The Complete Reference Dale Roberts 12
© Copyright 2026 Paperzz