- •Preface
 - •Introduction
 - •Lesson Objectives
 - •Lesson Agenda
 - •Course Objectives
 - •Course Agenda
 - •Appendixes Used in the Course
 - •Lesson Agenda
 - •Oracle Database 11g: Focus Areas
 - •Oracle Database 11g
 - •Oracle Fusion Middleware
 - •Oracle Enterprise Manager Grid Control 10g
 - •Oracle BI Publisher
 - •Lesson Agenda
 - •Relational and Object Relational Database Management Systems
 - •Data Storage on Different Media
 - •Relational Database Concept
 - •Definition of a Relational Database
 - •Data Models
 - •Entity Relationship Model
 - •Relating Multiple Tables
 - •Relational Database Terminology
 - •Lesson Agenda
 - •Using SQL to Query Your Database
 - •SQL Statements
 - •Development Environments for SQL
 - •Lesson Agenda
 - •The Human Resources (HR) Schema
 - •Tables Used in the Course
 - •Lesson Agenda
 - •Oracle Database 11g Documentation
 - •Additional Resources
 - •Summary
 - •Practice I: Overview
 - •Objectives
 - •Lesson Agenda
 - •Capabilities of SQL SELECT Statements
 - •Basic SELECT Statement
 - •Selecting All Columns
 - •Selecting Specific Columns
 - •Writing SQL Statements
 - •Column Heading Defaults
 - •Lesson Agenda
 - •Arithmetic Expressions
 - •Using Arithmetic Operators
 - •Operator Precedence
 - •Defining a Null Value
 - •Null Values in Arithmetic Expressions
 - •Lesson Agenda
 - •Defining a Column Alias
 - •Using Column Aliases
 - •Lesson Agenda
 - •Concatenation Operator
 - •Literal Character Strings
 - •Using Literal Character Strings
 - •Alternative Quote (q) Operator
 - •Duplicate Rows
 - •Lesson Agenda
 - •Displaying the Table Structure
 - •Using the DESCRIBE Command
 - •Quiz
 - •Summary
 - •Practice 1: Overview
 - •Objectives
 - •Lesson Agenda
 - •Limiting Rows Using a Selection
 - •Limiting the Rows That Are Selected
 - •Using the WHERE Clause
 - •Character Strings and Dates
 - •Comparison Operators
 - •Using Comparison Operators
 - •Range Conditions Using the BETWEEN Operator
 - •Membership Condition Using the IN Operator
 - •Pattern Matching Using the LIKE Operator
 - •Combining Wildcard Characters
 - •Using the NULL Conditions
 - •Defining Conditions Using the Logical Operators
 - •Using the AND Operator
 - •Using the OR Operator
 - •Using the NOT Operator
 - •Lesson Agenda
 - •Rules of Precedence
 - •Lesson Agenda
 - •Using the ORDER BY Clause
 - •Sorting
 - •Lesson Agenda
 - •Substitution Variables
 - •Using the Single-Ampersand Substitution Variable
 - •Character and Date Values with Substitution Variables
 - •Specifying Column Names, Expressions, and Text
 - •Using the Double-Ampersand Substitution Variable
 - •Lesson Agenda
 - •Using the DEFINE Command
 - •Using the VERIFY Command
 - •Quiz
 - •Summary
 - •Practice 2: Overview
 - •Objectives
 - •Lesson Agenda
 - •SQL Functions
 - •Two Types of SQL Functions
 - •Single-Row Functions
 - •Lesson Agenda
 - •Character Functions
 - •Case-Conversion Functions
 - •Using Case-Conversion Functions
 - •Character-Manipulation Functions
 - •Using the Character-Manipulation Functions
 - •Lesson Agenda
 - •Number Functions
 - •Using the ROUND Function
 - •Using the TRUNC Function
 - •Using the MOD Function
 - •Lesson Agenda
 - •Working with Dates
 - •RR Date Format
 - •Using the SYSDATE Function
 - •Arithmetic with Dates
 - •Using Arithmetic Operators with Dates
 - •Lesson Agenda
 - •Date-Manipulation Functions
 - •Using Date Functions
 - •Using ROUND and TRUNC Functions with Dates
 - •Quiz
 - •Summary
 - •Practice 3: Overview
 - •Objectives
 - •Lesson Agenda
 - •Conversion Functions
 - •Implicit Data Type Conversion
 - •Explicit Data Type Conversion
 - •Lesson Agenda
 - •Using the TO_CHAR Function with Dates
 - •Elements of the Date Format Model
 - •Using the TO_CHAR Function with Dates
 - •Using the TO_CHAR Function with Numbers
 - •Using the TO_NUMBER and TO_DATE Functions
 - •Using the TO_CHAR and TO_DATE Function with RR Date Format
 - •Lesson Agenda
 - •Nesting Functions
 - •Lesson Agenda
 - •General Functions
 - •NVL Function
 - •Using the NVL Function
 - •Using the NVL2 Function
 - •Using the NULLIF Function
 - •Using the COALESCE Function
 - •Lesson Agenda
 - •Conditional Expressions
 - •CASE Expression
 - •Using the CASE Expression
 - •DECODE Function
 - •Using the DECODE Function
 - •Quiz
 - •Summary
 - •Practice 4: Overview
 - •Objectives
 - •Lesson Agenda
 - •What Are Group Functions?
 - •Types of Group Functions
 - •Group Functions: Syntax
 - •Using the AVG and SUM Functions
 - •Using the MIN and MAX Functions
 - •Using the COUNT Function
 - •Using the DISTINCT Keyword
 - •Group Functions and Null Values
 - •Lesson Agenda
 - •Creating Groups of Data
 - •Creating Groups of Data: GROUP BY Clause Syntax
 - •Using the GROUP BY Clause
 - •Grouping by More than One Column
 - •Using the GROUP BY Clause on Multiple Columns
 - •Illegal Queries Using Group Functions
 - •Restricting Group Results
 - •Restricting Group Results with the HAVING Clause
 - •Using the HAVING Clause
 - •Lesson Agenda
 - •Nesting Group Functions
 - •Quiz
 - •Summary
 - •Practice 5: Overview
 - •Objectives
 - •Lesson Agenda
 - •Types of Joins
 - •Joining Tables Using SQL:1999 Syntax
 - •Qualifying Ambiguous Column Names
 - •Lesson Agenda
 - •Creating Natural Joins
 - •Retrieving Records with Natural Joins
 - •Creating Joins with the USING Clause
 - •Joining Column Names
 - •Retrieving Records with the USING Clause
 - •Using Table Aliases with the USING Clause
 - •Creating Joins with the ON Clause
 - •Retrieving Records with the ON Clause
 - •Creating Three-Way Joins with the ON Clause
 - •Applying Additional Conditions to a Join
 - •Lesson Agenda
 - •Joining a Table to Itself
 - •Self-Joins Using the ON Clause
 - •Lesson Agenda
 - •Nonequijoins
 - •Retrieving Records with Nonequijoins
 - •Lesson Agenda
 - •INNER Versus OUTER Joins
 - •LEFT OUTER JOIN
 - •RIGHT OUTER JOIN
 - •FULL OUTER JOIN
 - •Lesson Agenda
 - •Cartesian Products
 - •Generating a Cartesian Product
 - •Creating Cross Joins
 - •Quiz
 - •Summary
 - •Practice 6: Overview
 - •Objectives
 - •Lesson Agenda
 - •Using a Subquery to Solve a Problem
 - •Subquery Syntax
 - •Using a Subquery
 - •Guidelines for Using Subqueries
 - •Types of Subqueries
 - •Lesson Agenda
 - •Single-Row Subqueries
 - •Executing Single-Row Subqueries
 - •Using Group Functions in a Subquery
 - •The HAVING Clause with Subqueries
 - •What Is Wrong with This Statement?
 - •No Rows Returned by the Inner Query
 - •Lesson Agenda
 - •Multiple-Row Subqueries
 - •Lesson Agenda
 - •Null Values in a Subquery
 - •Quiz
 - •Summary
 - •Practice 7: Overview
 - •Objectives
 - •Lesson Agenda
 - •Set Operators
 - •Set Operator Guidelines
 - •The Oracle Server and Set Operators
 - •Lesson Agenda
 - •Tables Used in This Lesson
 - •Lesson Agenda
 - •UNION Operator
 - •Using the UNION Operator
 - •UNION ALL Operator
 - •Using the UNION ALL Operator
 - •Lesson Agenda
 - •INTERSECT Operator
 - •Using the INTERSECT Operator
 - •Lesson Agenda
 - •MINUS Operator
 - •Using the MINUS Operator
 - •Lesson Agenda
 - •Matching the SELECT Statements
 - •Matching the SELECT Statement: Example
 - •Lesson Agenda
 - •Using the ORDER BY Clause in Set Operations
 - •Quiz
 - •Summary
 - •Practice 8: Overview
 
Using the TO_CHAR Function with Dates
TO_CHAR(date, 'format_model')
The format model:
•Must be enclosed with single quotation marks
•Is case-sensitive
•Can include any valid date format element
•Has an fm element to remove padded blanks or suppress leading zeros
•Is separated from the date value by a comma
Copyright © 2009, Oracle. All rights reserved.
Using the TO_CHAR Function with Dates  | 
	Academy  | 
TO_CHAR converts a datetime data type to a valueOracleof VARCHAR2 data type in the format specified
by the format_model. A format model is a character literal that describes the format of datetime stored in a character string. For example, the datetime fo m t model for the string '11-Nov-
1999' is 'DD-Mon-YYYY'. You can use the TO CHAR function to convert a date from its default format to the one that you specify.
Guidelines  | 
	
  | 
	&  | 
	
  | 
• The format model must be enclosed with single quotation marks and is case-sensitive.  | 
|||
• The format model can include a  | 
	
  | 
	Only  | 
|
y valid date format element. But be sure to separate the date  | 
|||
  | 
	
  | 
	Use  | 
|
  | 
	Internal  | 
	
  | 
|
value from the format model with a comma.
• The names of days and months in the output are automatically padded with blanks.
• To remove padded blanks or to suppress leading zeros, use the fill mode fm element.
Oracle  | 
|
SELECT  | 
	mployee_id, TO_CHAR(hire_date, 'MM/YY') Month_Hired  | 
FROM  | 
	mployees  | 
WHERE  | 
	last_name = 'Higgins';  | 
Oracle Database 11g: SQL Fundamentals I 4 - 11
Elements of the Date Format Model
Element  | 
	Result  | 
  | 
	
  | 
YYYY  | 
	Full year in numbers  | 
  | 
	
  | 
YEAR  | 
	Year spelled out (in English)  | 
  | 
	
  | 
MM  | 
	Two-digit value for the month  | 
MONTH  | 
	Full name of the month  | 
  | 
	
  | 
MON  | 
	Three-letter abbreviation of the month  | 
DY  | 
	Three-letter abbreviation of the day of the week  | 
DAY  | 
	Full name of the day of the week  | 
DD  | 
	Numeric day of the month  | 
  | 
	Copyright © 2009, Oracle. All rights reserved.  | 
	Academy  | 
||
  | 
	
  | 
|||
  | 
	
  | 
	Oracle  | 
||
&  | 
	Only  | 
	
  | 
||
  | 
	Internal  | 
	
  | 
	
  | 
	
  | 
  | 
	Use  | 
	
  | 
||
Oracle  | 
	
  | 
	
  | 
	
  | 
|
Oracle Database 11g: SQL Fundamentals I 4 - 12
Sample Format Elements of Valid Date Formats
  | 
	Element  | 
	Description  | 
	
  | 
	
  | 
|
  | 
	SCC or CC  | 
	Century; server prefixes B.C. date with -  | 
	
  | 
||
  | 
	Years in dates YYYY or SYYYY  | 
	Year; server prefixes B.C. date with -  | 
	
  | 
||
  | 
	YYY or YY or Y  | 
	Last three, two, or one digit of the year  | 
	
  | 
||
  | 
	Y,YYY  | 
	Year with comma in this position  | 
	
  | 
||
  | 
	IYYY, IYY, IY, I  | 
	Four-, three-, two-, or one-digit year based on the ISO  | 
	
  | 
||
  | 
	
  | 
	standard  | 
	
  | 
	
  | 
	
  | 
  | 
	SYEAR or YEAR  | 
	Year spelled out; server prefixes B.C. date with -  | 
	
  | 
||
  | 
	BC or AD  | 
	Indicates B.C. or A.D. year  | 
	
  | 
||
  | 
	B.C. or A.D.  | 
	Indicates B.C. or A.D. year using periods  | 
	
  | 
||
  | 
	Q  | 
	Quarter of year  | 
	
  | 
	
  | 
|
  | 
	MM  | 
	Month: two-digit value  | 
	
  | 
||
  | 
	MONTH  | 
	Name of the month padded with blanks to a length of nine  | 
	
  | 
||
  | 
	
  | 
	characters  | 
	
  | 
	
  | 
	
  | 
  | 
	MON  | 
	Name of the month, three-letter abbreviation  | 
	
  | 
||
  | 
	RM  | 
	Roman numeral month  | 
	
  | 
||
  | 
	J  | 
	Julian day; the number of days sinceAcademyDecember 31, 4713  | 
	
  | 
||
  | 
	WW or W  | 
	Week of the year or month  | 
	
  | 
||
  | 
	DDD or DD or D  | 
	Day of the year, month, or week  | 
	
  | 
||
  | 
	DAY  | 
	Name of the day padded with blanks to a length of nine  | 
	
  | 
||
  | 
	
  | 
	characters  | 
	
  | 
	
  | 
	
  | 
  | 
	DY  | 
	Name of the day; three-letter abbreviation  | 
	
  | 
||
  | 
	
  | 
	B.C.  | 
	Oracle  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	IW  | 
	Weeks in the year from ISO standard (1 to 53)  | 
	
  | 
||
  | 
	
  | 
	&  | 
	Only  | 
||
  | 
	Internal  | 
	
  | 
	
  | 
	
  | 
|
Oracle  | 
	Use  | 
||||
  | 
	
  | 
	
  | 
	
  | 
||
Oracle Database 11g: SQL Fundamentals I 4 - 13
Elements of the Date Format Model
•Time elements format the time portion of the date:
HH24:MI:SS AM  | 
	15:45:32 PM  | 
  | 
	
  | 
•Add character strings by enclosing them with double quotation marks:
  | 
	
  | 
	
  | 
	DD "of" MONTH  | 
	
  | 
	12 of OCTOBER  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	• Number suffixes spell out numbers:  | 
	
  | 
	
  | 
	
  | 
|||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	ddspth  | 
	
  | 
	
  | 
	fourteenth  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
Elements of the Date Format Model  | 
	
  | 
	
  | 
	Academy  | 
|||||||
  | 
	
  | 
	
  | 
	
  | 
	Copyright © 2009, Oracle. All rights reserved.  | 
	
  | 
	
  | 
	
  | 
|||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	Oracle  | 
||||
  | 
	Use the formats that are listed in the following tables to display time information and literals, and to  | 
|||||||||
  | 
	change numerals to spelled numbers.  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||
  | 
	
  | 
	Element  | 
	
  | 
	Description  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	AM or PM  | 
	Meridian indicator  | 
	
  | 
	Only  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||||
  | 
	
  | 
	A.M. or P.M.  | 
	&  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||
  | 
	
  | 
	Meridian indicator with periods  | 
	
  | 
	
  | 
	
  | 
|||||
  | 
	
  | 
	HH or HH12 or HH24  | 
	Hour of day, or hour (1–12), or hour (0–23)  | 
	
  | 
||||||
  | 
	
  | 
	MI  | 
	Internal  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	
  | 
	Use  | 
	
  | 
	
  | 
	
  | 
||||
  | 
	
  | 
	
  | 
	Mi ute (0–59)  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
||
  | 
	
  | 
	SS  | 
	
  | 
	Second (0–59)  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|
  | 
	
  | 
	SSSSS  | 
	
  | 
	Seconds past midnight (0–86399)  | 
	
  | 
	
  | 
	
  | 
|||
Oracle  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
|||
Oracle Database 11g: SQL Fundamentals I 4 - 14
Other Formats
  | 
	
  | 
	Element  | 
	
  | 
	Description  | 
|
  | 
	/ . ,  | 
	
  | 
	Punctuation is reproduced in the result.  | 
||
  | 
	
  | 
	“of the”  | 
	
  | 
	Quoted string is reproduced in the result.  | 
|
Specifying Suffixes to Influence Number Display  | 
|||||
  | 
	
  | 
	
  | 
	
  | 
	
  | 
	
  | 
  | 
	
  | 
	Element  | 
	
  | 
	Description  | 
	
  | 
  | 
	
  | 
	TH  | 
	
  | 
	Ordinal number (for example, DDTH for 4TH)  | 
	
  | 
  | 
	
  | 
	SP  | 
	
  | 
	Spelled-out number (for example, DDSP for FOUR)  | 
	
  | 
  | 
	
  | 
	SPTH or THSP  | 
	
  | 
	Spelled-out ordinal numbers (for example, DDSPTH for  | 
	
  | 
  | 
	
  | 
	
  | 
	
  | 
	FOURTH)  | 
	
  | 
  | 
	Academy  | 
Oracle  | 
|
&  | 
	Only  | 
Internal  | 
	
  | 
Use  | 
|
Oracle  | 
	
  | 
Oracle Database 11g: SQL Fundamentals I 4 - 15
