- •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