Week 004-006 Presentation Use Single Row Functions To Customize Output
Week 004-006 Presentation Use Single Row Functions To Customize Output
Customize Output
4-2 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Lesson Agenda
4-3 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
SQL Functions
Input Output
Function
arg n
4-4 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Two Types of SQL Functions
Functions
Single-row Multiple-row
functions functions
4-5 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Single-Row Functions
Single-row functions:
• Manipulate data items
• Accept arguments and return one value
• Act on each row that is returned
• Return one result per row
• May modify the data type
• Can be nested
• Accept arguments that can be a column or an expression
4-6 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Single-Row Functions
Character
Single-row
General Number
functions
Conversion Date
4-7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Lesson Agenda
4-8 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Character Functions
Character
functions
Case-conversion Character-manipulation
functions functions
LOWER CONCAT
UPPER SUBSTR
INITCAP LENGTH
INSTR
LPAD | RPAD
TRIM
REPLACE
4-9 Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Case-Conversion Functions
Function Result
CONCAT('Hello', 'World') HelloWorld
SUBSTR('HelloWorld',1,5) Hello
LENGTH('HelloWorld') 10
INSTR('HelloWorld', 'W') 6
LPAD(salary,10,'*') *****24000
RPAD(salary, 10, '*') 24000*****
REPLACE BLACK and BLUE
('JACK and JUE','J','BL')
TRIM('H' FROM 'HelloWorld') elloWorld
1
SELECT employee_id, CONCAT(first_name, last_name) NAME,
job_id, LENGTH (last_name), 2
INSTR(last_name, 'a') "Contains 'a'?"
FROM employees 3
WHERE SUBSTR(job_id, 4) = 'REP';
1 2 3
Function Result
ROUND(45.926, 2) 45.93
TRUNC(45.926, 2) 45.92
MOD(1600, 300) 100
1 2
SELECT ROUND(45.923,2), ROUND(45.923,0),
ROUND(45.923,-1) 3
FROM DUAL;
1 2 3
DUAL is a public table that you can use to view results
from functions and calculations.
CurrentYear
Current Year Specified Date RR Format YY Format
1995 27-OCT-95 1995 1995
1995 27-OCT-17 2017 1917
2001 27-OCT-17 2017 2017
2001 27-OCT-95 1995 2095
0–49 50–99
If two digits The return date is in The return date is in
of the current 0–49 the current century the century before the
year are: current one
The return date is in The return date is in
50–99 the century after the the current century
current one
SELECT sysdate
FROM dual;
Function Result
MONTHS_BETWEEN Number of months between two dates
ADD_MONTHS Add calendar months to date
NEXT_DAY Next day of the date specified
LAST_DAY Last day of the month
Function Result
MONTHS_BETWEEN 19.6774194
('01-SEP-95','11-JAN-94')
ADD_MONTHS (‘31-JAN-96',1) '29-FEB-96'
NEXT_DAY ('01-SEP-95','FRIDAY') '08-SEP-95'
LAST_DAY ('01-FEB-95') '28-FEB-95'