0% found this document useful (0 votes)
71 views41 pages

Enhanced Guide To Oracle 10g: Using SQL Queries To Insert, Update, Delete, and View Data

This document provides an overview of single-row functions in Oracle SQL, including character, number, and date functions. It describes how to use various character functions like UPPER, SUBSTR, and LENGTH. Number functions like ROUND, TRUNC, and MOD are also covered. The document demonstrates how to perform calculations and extract information using date functions such as ADD_MONTHS, MONTHS_BETWEEN, and LAST_DAY. Examples are provided to illustrate how each type of function works.

Uploaded by

Deepak Malusare
Copyright
© © All Rights Reserved
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)
71 views41 pages

Enhanced Guide To Oracle 10g: Using SQL Queries To Insert, Update, Delete, and View Data

This document provides an overview of single-row functions in Oracle SQL, including character, number, and date functions. It describes how to use various character functions like UPPER, SUBSTR, and LENGTH. Number functions like ROUND, TRUNC, and MOD are also covered. The document demonstrates how to perform calculations and extract information using date functions such as ADD_MONTHS, MONTHS_BETWEEN, and LAST_DAY. Examples are provided to illustrate how each type of function works.

Uploaded by

Deepak Malusare
Copyright
© © All Rights Reserved
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/ 41

Enhanced Guide to Oracle 10g

Chapter 3:
Using SQL Queries to Insert,
Update, Delete, and View Data

By: Deepak Malusare 1


Single-Row Functions

By: Deepak Malusare 2


Objectives

 After completing this lesson, you should be


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

By: Deepak Malusare 3


SQL Functions

Input Output
Function

arg 1 Function
performs action
arg 2
Result
value

arg n

By: Deepak Malusare 4


Two Types of SQL Functions

Functions

Single-row Multiple-row
functions functions

By: Deepak Malusare 5


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 datatype

 Can be nested

function_name (column|expression, [arg1, arg2,...])

By: Deepak Malusare 6


Single-Row Functions

Character

General Number
Single-row
functions

Conversion Date

By: Deepak Malusare 7


Character Functions
Character
functions

Case conversion Character manipulation


functions functions
LOWER CONCAT
UPPER SUBSTR
INITCAP LENGTH
INSTR
LPAD, RPAD
TRIM, LTRIM, RTRIM
REPLACE

By: Deepak Malusare 8


Character Functions
 CONCAT – joins 2 character strings
 INITCAP – returns a string with the initial letter only uppercase
 LENGTH – returns the length of a string
 LPAD, RPAD – returns a string with a specific number of
characters added on the left or right side
 LTRIM, RTRIM – returns a string with all instances of a specific
character trimmed from the left or right side
 REPLACE – replaces all instances of a character with another
character
 UPPER/LOWER – returns a string in all upper/lower case
letters
 SUBSTR
 INSTR

By: Deepak Malusare 10


Case Conversion Functions

 Convert case for character strings


Function Result
LOWER('SQL Course') sql course
UPPER('SQL Course') SQL COURSE
INITCAP('SQL Course') Sql Course

By: Deepak Malusare 11


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 ename = UPPER('blake');

EMPNO ENAME DEPTNO


--------- ---------- ---------
7698 BLAKE 30

By: Deepak Malusare 12


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
TRIM('S' FROM 'SSMITH') MITH

By: Deepak Malusare 13


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 ALLENSALESMAN 5 1
TURNER TURNERSALESMAN 6 0
WARD WARDSALESMAN 4 2

By: Deepak Malusare 14


Number Functions
 ABS - absolute value
 CEIL – rounds a number up to the next integer
 FLOOR – rounds a number down to the previous
integer
 MOD – returns the remainder of a number and a
divisor
 POWER - raises a number to an exponent
 ROUND - rounds a number
 SQRT – returns the square root of a value
 TRUNC - truncates a number to the nearest whole
number

By: Deepak Malusare 15


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
By: Deepak Malusare 16
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

By: Deepak Malusare 17


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 45 40

By: Deepak Malusare 18


Using the MOD Function
 Calculate the remainder of the ratio of
salary to commission for all employees
whose job title is 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

By: Deepak Malusare 19


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.

By: Deepak Malusare 20


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.

By: Deepak Malusare 21


Date Arithmetic
 To find a date that is a specific number of
days before or after a known date, add or
subtract the number from the known date

 Example:
SELECT order_date + 30
FROM cust_order;

By: Deepak Malusare 22


Date Arithmetic
 To find the number of days between two
known dates, subtract the later date from
the earlier date

 Example:
SELECT SYSDATE – s_dob
FROM my_students;

By: Deepak Malusare 23


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

By: Deepak Malusare 24


Date Functions

Function Description

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

By: Deepak Malusare 25


Using Date Functions
• MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')
19.6774194

• ADD_MONTHS ('11-JAN-94',6) '11-JUL-94'

By: Deepak Malusare 26


Date Functions
 ADD_MONTHS
 returns a date that is a specific number of months
after a given date

 Example:
SELECT ADD_MONTHS(SYSDATE, 6)
FROM dual;

By: Deepak Malusare 27


Date Functions
 LAST_DATE
 Returns the date that is the last day of the month
specified in the current date

 Example:
SELECT LAST_DATE(order_date)
FROM cust_order
WHERE order_id = 1057;

By: Deepak Malusare 28


Date Functions
 MONTHS_BETWEEN
 Returns the number of months between two
input dates

 Example:
SELECT MONTHS_BETWEEN(order_date,
SYSDATE)
FROM cust_order
WHERE order_id = 1057;
By: Deepak Malusare 29
Conversion Functions

Datatype
conversion

Implicit datatype Explicit datatype


conversion conversion

By: Deepak Malusare 30


Explicit Datatype Conversion
TO_NUMBER TO_DATE

NUMBER CHARACTER DATE

TO_CHAR TO_CHAR

By: Deepak Malusare 31


TO_CHAR Function with Dates
TO_CHAR(date, 'fmt')

 The format model:


 Must be enclosed in single quotation marks and 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

By: Deepak Malusare 34


Elements of Date Format Model

YYYY Full year in numbers

YEAR Year spelled out

MM Two-digit value for month

MONTH Full name of the month


Three-letter abbreviation of the
DY
day of the week
DAY Full name of the day

By: Deepak Malusare 35


Using TO_CHAR Function
with Dates
SQL> SELECT ename,
2 TO_CHAR(hiredate, 'DD Month YYYY') HIREDATE
3 FROM emp;

ENAME HIREDATE
---------- -----------------
KING 17 November 1981
BLAKE 1 May 1981
CLARK 9 June 1981
JONES 2 April 1981
MARTIN 28 September 1981
ALLEN 20 February 1981
...
14 rows selected.

By: Deepak Malusare 36


TO_CHAR Function with Numbers
TO_CHAR(number, 'fmt')
 Use these formats with the TO_CHAR function
to display a number value as a character:

9 Represents a number
0 Forces a zero to be displayed
$ Places a floating dollar sign
L Uses the floating local currency symbol
. Prints a decimal point
, Prints a thousand indicator

By: Deepak Malusare 37


Using TO_CHAR Function
with Numbers
SQL> SELECT TO_CHAR(sal,'$99,999') SALARY
2 FROM emp
3 WHERE ename = 'SCOTT';

SALARY
--------
$3,000

By: Deepak Malusare 38


TO_NUMBER and
TO_DATE Functions
 Convert a character string to a number format
using the TO_NUMBER function

TO_NUMBER(char[, 'fmt'])

• Convert a character string to a date


format using the TO_DATE function

TO_DATE(char[, 'fmt'])

By: Deepak Malusare 39


NVL Function

 Converts null to an actual value


 Datatypes that can be used are date, character,
and number.
 Datatypes must match
 NVL(comm,0)
 NVL(hiredate,'01-JAN-97')

 NVL(job,'No Job Yet')

By: Deepak Malusare 40


Using the NVL Function

SQL> SELECT ename, sal, comm, (sal*12)+NVL(comm,0)


2 FROM emp;

ENAME SAL COMM (SAL*12)+NVL(COMM,0)


---------- --------- --------- --------------------
KING 5000 60000
BLAKE 2850 34200
CLARK 2450 29400
JONES 2975 35700
MARTIN 1250 1400 16400
ALLEN 1600 300 19500
...
14 rows selected.

By: Deepak Malusare 41


Nesting Functions

 Single-row functions can be nested to any level.


 Nested functions are evaluated from deepest level to
the least-deep level.

F3(F2(F1(col,arg1),arg2),arg3)

Step 1 = Result 1
Step 2 = Result 2
Step 3 = Result 3

By: Deepak Malusare 42


Nesting Functions

SQL> SELECT ename,


2 NVL(TO_CHAR(mgr),'No Manager')
3 FROM emp
4 WHERE mgr IS NULL;

ENAME NVL(TO_CHAR(MGR),'NOMANAGER')
---------- -----------------------------
KING No Manager

By: Deepak Malusare 43


Summary

 Use functions to do the following:


 Perform calculations on data
 Modify individual data items

 Manipulate output for groups of rows

 Alter date formats for display

 Convert column datatypes

By: Deepak Malusare 44

You might also like