0% found this document useful (0 votes)
234 views

SQL Single Row Functions PDF

Lab 8 discusses single row functions in SQL. Single row functions return one result per row and may modify data types. Common single row functions include character functions to manipulate case, trim or pad strings, and number functions for rounding, truncating, or finding remainders. Date functions allow arithmetic on dates and conversion between character and date formats. Conversion functions like TO_NUMBER and TO_DATE explicitly convert between data types.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
234 views

SQL Single Row Functions PDF

Lab 8 discusses single row functions in SQL. Single row functions return one result per row and may modify data types. Common single row functions include character functions to manipulate case, trim or pad strings, and number functions for rounding, truncating, or finding remainders. Date functions allow arithmetic on dates and conversion between character and date formats. Conversion functions like TO_NUMBER and TO_DATE explicitly convert between data types.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

Lab 8

Single Row Functions


SQL FUNCTIONS

Input Output

Function

arg 1 Function performs


action
arg 2
Result
value

arg n
SQL Functions Types
SQL Functions

Single-row Multiple-row
functions functions

Return one result Return one result


per row per set of rows
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.
Can be used in SELECT, WHERE, and ORDER BY clauses.
function_name (column|expression, [arg2, arg3,...])
Single-Row Functions

Character

Single-row
General Number
functions

Conversion Date
Character Functions

Character
functions

Case-manipulation Character-manipulation
functions functions

LOWER CONCAT
UPPER SUBSTR
INITCAP LENGTH
INSTR
LPAD | RPAD
TRIM
REPLACE
Case Manipulation Functions
LOWER: Converts mixed case or uppercase character
string to lowercase.

UPPER: Converts mixed case or lowercase character


string to uppercase.

INITCAP: Converts first letter of each word to uppercase


and remaining letters to lowercase.
Case Manipulation Functions

Function Result

LOWER('SQL Course') sql course

UPPER('SQL Course') SQL COURSE

INITCAP('SQL Course') Sql Course


Case Manipulation 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';
no rows selected

SELECT employee_id, last_name, department_id


FROM employees
WHERE LOWER(last_name) = 'higgins';
Character Manipulation Functions
CONCAT: Joins values together (You are limited to using
two parameters with CONCAT.)
SUBSTR: Extracts a string of determined length
LENGTH: Shows the length of a string as a numeric
value
INSTR: Finds numeric position of a named character
LPAD: Pads the character value right-justified
RPAD : Pads the character value left-justified
TRIM: Trims heading or trailing characters (or both) from
a character string.
Character Manipulation 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 ('JACK and JUE','J','BL') BLACK and BLUE
TRIM('H' FROM 'HelloWorld') elloWorld
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

Function Result
ROUND(45.926, 2) 45.93
TRUNC(45.926, 2) 45.92
MOD(1600, 300) 100
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.
TRUNC Function
1 2
SELECT ROUND(45.923,2), ROUND(45.923),
ROUND(45.923,-1) 3
FROM DUAL;

1 2 3
MOD Function
For all employees with 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';
Working with Dates
The Oracle database stores dates in an internal numeric
format: century, year, month, day, hours, minutes, and
seconds.
The default date display format is DD-MON-RR.
SYSDATE is a date function that returns the current date
and time.
SELECT last_name, hire_date
FROM employees
WHERE hire_date < '01-FEB-88';
Arithmetic with Dates
Arithmetic Operators with Dates
SELECT last_name, (SYSDATE-hire_date)/7 AS WEEKS
FROM employees
WHERE department_id = 90;
Date 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 ('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-FEB-95') '28-FEB-95'


Using Date Functions
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
Conversion Functions

Data type
conversion

Implicit data type Explicit data type


conversion conversion
Implicit Data Type Conversion
For assignments, the Oracle server can automatically
convert the following:

From To
VARCHAR2 or CHAR NUMBER
VARCHAR2 or CHAR DATE
NUMBER VARCHAR2
DATE VARCHAR2
Implicit Data Type Conversion
For expression evaluation, the Oracle Server can
automatically convert the following:
From To
VARCHAR2 or CHAR NUMBER
VARCHAR2 or CHAR DATE

Notes:
 CHAR to NUMBER conversions succeed only if the
character string represents a valid number.
 CHAR to DATE conversions succeed only if the character
string has the default format DD-MON-YY.
Explicit Data Type Conversion
TO_NUMBER TO_DATE

NUMBER CHARACTER DATE

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

The format model:


• Must be enclosed by 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
Elements of the Date Format Model
Element Result
YYYY Full year in numbers
YEAR Year spelled out (in English)
MM Two-digit value for 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
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 in double


quotation marks:
DD "of" MONTH 12 of OCTOBER

• Number suffixes spell out numbers:


ddspth fourteenth
TO_CHAR Function with Dates
TO_CHAR Function with Numbers
TO_CHAR(number, 'format_model')

These are some of the format elements that you can use
with the TO_CHAR function to display a number value as a
character:
Element Result
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 comma as thousands indicator
TO_CHAR Function with Numbers
SELECT TO_CHAR(salary, '$99,999.99') SALARY
FROM employees
WHERE last_name = 'Ernst';
NOTES
• The Oracle Server rounds the stored decimal value to the
number of decimal spaces provided in the format model.

• The Oracle Server displays a string of pound signs (#) in place


of a whole number whose digits exceed the number of digits
provided in the format model.
TO_NUMBER and TO_DATE
Functions
• Convert a character string to a number format using the
TO_NUMBER function:

TO_NUMBER(char[,'format_model'])

• Convert a character string to a date format using the


TO_DATE function:
TO_DATE(char[,'format_model'])
TO_DATE
General Functions
The following functions work with any data type and
pertain to using NULLs:

 NVL (expr1, expr2)

 NVL2 (expr1, expr2, expr3)

 NULLIF (expr1, expr2)


NVL Function
Converts a NULL value to an actual value:
 Data types that can be used are date, character,
and number.
 Data types must match:
NVL(commission_pct,0)
NVL(hire_date,'01-JAN-97')
NVL(job_id,'No Job Yet')
NVL Function
1
SELECT last_name, salary, NVL(commission_pct, 0),
(salary*12) + (salary*12*NVL(commission_pct, 0)) AN_SAL
FROM employees;
2

1 2
NVL2 Function
SELECT last_name, salary, commission_pct, 1
NVL2(commission_pct,
'SAL+COMM', 'SAL') income 2
FROM employees WHERE department_id IN (50, 80);

1 2
NULLIF Function
1
SELECT first_name, LENGTH(first_name) "expr1",
last_name, LENGTH(last_name) "expr2", 2
NULLIF(LENGTH(first_name), LENGTH(last_name)) result 3
FROM employees;

1 2 3
Nesting Functions
• Single-row functions can be nested to any level.
• Nested functions are evaluated from the 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
Nesting Functions

SELECT last_name,
UPPER(CONCAT(SUBSTR (LAST_NAME, 1, 8), '_US'))
FROM employees
WHERE department_id = 60;
THANK YOU 

You might also like