0% found this document useful (0 votes)
34 views23 pages

SQL Chap3A

Single-row functions in SQL manipulate or return a single value from each row of a table. There are different types of single-row functions including character functions to modify case, concatenate, extract substrings etc.; number functions to round, truncate values; and date functions to add/subtract from dates, calculate intervals between dates. Functions are used in SELECT statements to transform and return modified values from columns.

Uploaded by

Prachi Tiwari
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views23 pages

SQL Chap3A

Single-row functions in SQL manipulate or return a single value from each row of a table. There are different types of single-row functions including character functions to modify case, concatenate, extract substrings etc.; number functions to round, truncate values; and date functions to add/subtract from dates, calculate intervals between dates. Functions are used in SELECT statements to transform and return modified values from columns.

Uploaded by

Prachi Tiwari
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 23

Single-Row Functions

Objectives

After completing this lesson, you should be able


to do the following :
– Describe various types functions available in SQL
– Use character, number, and date functions in
SELECT statements.
– Describe the use of conversion functions.
SQL Functions

Input Output
Function

arg 1 Function
performs action
arg 2 Result
Value

arg n
Two Types of SQL Functions

Functions

Single-row Multiple-row
Functions Functions
Single-Row Functions

• Manipulate data items


• Accept arguments and return one value
• Act on each row returned
• Return one result per row
• May modify the data type
• Can be nested
Function_name (column 1 expression, [arg1, arg2,…..])
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
Case Conversion Functions

Convert case for character strings

Function Result

LOWER (‘SQL Course’) sql sourse


UPPER (‘SQL Course’) SQL COURSE
INITCAP (‘SQL Course’) Sql Course
Using Case Conversion Functions
Display the employee number, name and department number
for employee Blake.

SQL> SELECT empno, ename, deptno


2 FROM emp
3 WHERE ename = ‘blake’;
no rows selected

SQL> SELECT empno, ename, deptno


2 FROM emp
3 WHERE LOWER(ename) = ‘blake’;

EMPNO ENAME DEPTNO


------------- ------------------- ---------------
7698 BLAKE 30
Character Manipulation Functions
Manipulate character strings

Function Result

CONCAT (‘Good’, ‘String’) GoodString


SUBSTR (‘String’, 1,3) Str
LENGTH (‘String’) 6
INSTR (‘String’, ‘r’) 3
LPAD (sal, 10, ‘*’) ******5000
Using the Character
Manipulation Functions
SQL> SELECT ename, CONCAT(ename, job), LENGTH(ename),
2 INSTR (ename, ‘A’)
3 FROM emp
4 WHERE SUBSTR (job, 1,5) = ‘SALES’;

ENAME CONCAT(ENAME,JOB) LENGTH(ENAME) INSTR(ENAME, ‘A’


---------------- ------------------------------- -------------------------- --------------------------
MARTIN MARTINSALESMAN 6 2
ALLEN ALLENSALESMAN1 5 1
TURNER TURNERSALESMAN 6 0
WARD WARDSALESMAN 4 2
Number Functions

• ROUND: Rounds value to specified decimal


ROUND (45.926,2) ------------> 45.93

• TRUNC: Truncates value to specified decimal


TRUNC (45.926,2) ------------> 45.92

• MOD: Returns remainder of division


MOD (1600,300) ------------> 100
Using the ROUND Function

SQL> SELECT ROUND (45.923,2), ROUND (45.923,0),


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

ROUND (45.923,2) ROUND (45.923,0) ROUND (45.923,-1)


------------------------ ------------------------ ------------------------
45.92 46 50
Using the TRUNC Function

SQL> SELECT TRUNC (45.923,2), TRUNC (45.923),


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

TRUNC (45.923,2) TRUNC (45.923) TRUNC (45.923,-1)


------------------------ ------------------------ ------------------------
45.92 46 50
Using the MOD Function

Calculate the remainder of the ratio of


salary to commission for all employees
whose job title is a salesman
SQL> SELECT ename, sal, comm, MOD (sal, comm)
2 FROM emp
3 WHERE job = ‘SALESMAN’

ENAME SAL COMM MOD(SAL,COMM)


--------------------- ------- --------------- ------------------------
MARTIN 1250 1400 1250
ALLEN 1600 300 100
TURNER 1500 0 1500
WARD 1250 500 250
Working with Dates

• Oracle stores dates in an internal numeric


format: Century, year, month, day, hours,
minutes, seconds.
• The default date format is DD-MON-YY.
• SYSDATE is a function returning date and
time.
• DUAL is a dummy table used to view
SYSDATE.
Arithmetic with Dates

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


a resultant date value.
• Subtract two dates to find number of days
between those dates.
• Add hours to a date by dividing the number of
hours by 24.
Using Arithmetic Operators with
Dates
SQL> SELECT ename, (SYSDATE-hiredate) / 7 Weeks
2 FROM emp
3 WHERE deptno = 10;

ENAME WEEKS
------------ ----------------
KING 830.93709
CLARK 853.93709
MILLER 821.36566
Date Functions
FUNCTION DESCRIPTION
Number of months
MONTHS_BETWEEN
between two dates
Add calendar
ADD_MONTHS
months to date
Next day of the date
NEXT_DAY
specified
LAST_DAY Last day of the month

ROUND Round the date


TRUNC Truncate the date
Using Date Functions

• MONTHS_BETWEEN (‘01-SEP-95’, ‘11-JAN-94’ -------> 19.6774194

• ADD_MONTHS (‘11-JAN-94’,6) -------> ‘11-JUL-94’

• NEXT_DAY (‘01-SEP-95’, ‘FRIDAY’) ----------> ‘08-SEP-95’

• LAST_DAY (‘01-SEP-95’) ----------> ‘30-SEP-95’


Using Date Functions

• ROUND (‘25-JUL-95’, ‘MONTH’) -------> 01-AUG-95

• ROUND (‘25-JUL-95’, ‘YEAR’) -------> 01-JAN-96

• TRUNC (‘25-JUL-95’, ‘MONTH’) -------> 01-JUL-95

• TRUNC (‘25-JUL-95’, ‘YEAR’) -------> 01-JAN-95


Conversion Functions

Datatype
conversion

Implicit datatype Explicit datatype


conversion conversion
Implicit Datatype Conversion
From To

VARCHAR2 or CHAR NUMBER

VARCHAR2 or CHAR DATE

NUMBER VARCHAR2

DATE VARCHAR2

You might also like