0% found this document useful (0 votes)
22 views20 pages

Database Systems Lecture4

This document discusses various types of SQL functions, including single-row functions that return one result per row. It covers character functions like LOWER(), UPPER(), SUBSTR(), and LENGTH(); number functions like ROUND() and TRUNC(); and date functions like SYSDATE(), MONTHS_BETWEEN(), ADD_MONTHS(), and LAST_DAY(). Examples are provided to demonstrate how to use these functions to manipulate and retrieve data from database tables.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views20 pages

Database Systems Lecture4

This document discusses various types of SQL functions, including single-row functions that return one result per row. It covers character functions like LOWER(), UPPER(), SUBSTR(), and LENGTH(); number functions like ROUND() and TRUNC(); and date functions like SYSDATE(), MONTHS_BETWEEN(), ADD_MONTHS(), and LAST_DAY(). Examples are provided to demonstrate how to use these functions to manipulate and retrieve data from database tables.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Database Systems

T. Amani Al-Kebsi Lecture 4


Using Single-Row Functions to
Customize Output
Two Types of SQL Functions

Functions

Single-row Multiple-row
functions functions

Return one result Return one result


per row per set of rows
Using Single-Row Functions to
Customize Output
Single-Row Functions

Character

Single-row
General Number
functions

Conversion Date
Character Functions

Character
functions

Case-conversion Character-manipulation
functions functions

LOWER CONCAT
UPPER SUBSTR
INITCAP LENGTH
INSTR
LPAD | RPAD
TRIM
REPLACE
Case-Conversion Functions
› These functions convert the case for character strings:

Function Result
LOWER('SQL Course') sql course
UPPER('SQL Course') SQL COURSE
INITCAP('SQL Course') Sql Course
Using Case-Conversion Functions
› Display the employee number, name, and
department number for employee Higgins:
SELECT employee_id, last_name, department_id
FROM employees
WHERE last_name = 'higgins';

SELECT employee_id, last_name, department_id


FROM employees
WHERE LOWER(last_name) = 'higgins';
Character-Manipulation Functions
› These functions manipulate character strings:

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
Using the Character-Manipulation
Functions

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
Number Functions

– ROUND: Rounds value to a specified decimal


– TRUNC: Truncates value to a specified decimal
– MOD: Returns remainder of division

Function Result
ROUND(45.926, 2) 45.93
TRUNC(45.926, 2) 45.92
MOD(1600, 300) 100
Using the ROUND Function

1 2
SELECT ROUND(45.923,2), ROUND(45.923,0),
ROUND(45.923,-1) 3
FROM DUAL;

1 2 3
DUAL is a dummy table that you can use to view results
from functions and calculations.
Using the TRUNC Function

1 2
SELECT TRUNC(45.923,2), TRUNC(45.923),
TRUNC(45.923,-1) 3
FROM DUAL;

1 2 3
Using the MOD Function

› For all employees with the job title of Sales Representative,


calculate the remainder of the salary after it is divided by 5,000.

SELECT last_name, salary, MOD(salary, 5000)


FROM employees
WHERE job_id = 'SA_REP';
RR Date Format
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

If the specified two-digit year is:

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
Using the SYSDATE Function

› SYSDATE is a function that returns:


– Date
– Time

SELECT sysdate
FROM dual;
Arithmetic with Dates

– Add or subtract a number to or from a date for a


resultant date value.
– Subtract two dates to find the number of days between
those dates.
– Add hours to a date by dividing the number of hours by
24.
Using Arithmetic Operators with Dates

SELECT last_name, (SYSDATE-hire_date)/7 AS WEEKS


FROM employees
WHERE department_id = 90;
Date-Manipulation Functions

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

ROUND Round date


TRUNC Truncate date
Using Date Functions
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'
Using ROUND and TRUNC Functions with
Dates
› Assume SYSDATE = '25-JUL-03':

Function Result
ROUND(SYSDATE,'MONTH') 01-AUG-03
ROUND(SYSDATE ,'YEAR') 01-JAN-04
TRUNC(SYSDATE ,'MONTH') 01-JUL-03
TRUNC(SYSDATE ,'YEAR') 01-JAN-03
References
➢ Oracle Slides

You might also like