Oracle Built in Functions
There are two types of functions in Oracle.
1) Single Row Functions: Single row or Scalar functions return a value for every row that is processed in a query.
2) Group Functions: These functions group the rows of data based on the values returned by the query. This is discussed in SQL GROUP Functions. The group functions are used to calculate aggregate values like total or average, which return just one total or one average value after processing a group of rows.
1) Single Row Functions: Single row or Scalar functions return a value for every row that is processed in a query.
2) Group Functions: These functions group the rows of data based on the values returned by the query. This is discussed in SQL GROUP Functions. The group functions are used to calculate aggregate values like total or average, which return just one total or one average value after processing a group of rows.
There are four types of single row functions. They are:
1) Numeric Functions: These are functions that accept numeric input and return numeric values.
2) Character or Text Functions: These are functions that accept character input and can return both character and number values.
3) Date Functions: These are functions that take values that are of datatype DATE as input and return values of datatype DATE, except for the MONTHS_BETWEEN function, which returns a number.
4) Conversion Functions: These are functions that help us to convert a value in one form to another form. For Example: a null value into an actual value, or a value from one datatype to another datatype like NVL, TO_CHAR, TO_NUMBER, TO_DATE etc.
1) Numeric Functions: These are functions that accept numeric input and return numeric values.
2) Character or Text Functions: These are functions that accept character input and can return both character and number values.
3) Date Functions: These are functions that take values that are of datatype DATE as input and return values of datatype DATE, except for the MONTHS_BETWEEN function, which returns a number.
4) Conversion Functions: These are functions that help us to convert a value in one form to another form. For Example: a null value into an actual value, or a value from one datatype to another datatype like NVL, TO_CHAR, TO_NUMBER, TO_DATE etc.
You can combine more than one function together in an expression.
This is known as nesting of functions.
What is a DUAL Table in Oracle?
This is a single row and single column dummy table provided by oracle. This is used to perform mathematical calculations without using a table.
This is a single row and single column dummy table provided by oracle. This is used to perform mathematical calculations without using a table.
Select * from DUAL
Output:
DUMMY
-------
X
-------
X
Select 777 * 888 from Dual
Output:
777 * 888
---------
689976
---------
689976
1) Numeric Functions:
Numeric functions are used to perform operations on numbers.
They accept numeric values as input and return numeric values as output. Few of
the Numeric functions are:
Function Name
|
Return Value
|
ABS (x)
|
Absolute value of the number 'x'
|
CEIL (x)
|
Integer value that is Greater than
or equal to the number 'x'
|
FLOOR (x)
|
Integer value that is Less than or
equal to the number 'x'
|
TRUNC (x, y)
|
Truncates value of number 'x'
up to 'y' decimal places
|
ROUND (x, y)
|
Rounded off value of the number 'x'
up to the number 'y' decimal places
|
The following examples explains the usage of the above numeric
functions
Function Name
|
Examples
|
Return Value
|
ABS (x)
|
ABS (1)
ABS (-1) |
1
-1 |
CEIL (x)
|
CEIL (2.83)
CEIL (2.49) CEIL (-1.6) |
3
3 -1 |
FLOOR (x)
|
FLOOR (2.83)
FLOOR (2.49) FLOOR (-1.6) |
2
2 -2 |
TRUNC (x, y)
|
ROUND (125.456, 1)
ROUND (125.456, 0) ROUND (124.456, -1) |
125.4
125 120 |
ROUND (x, y)
|
TRUNC (140.234, 2)
TRUNC (-54, 1) TRUNC (5.7) TRUNC (142, -1) |
140.23
54 5 140 |
These functions can be used on database columns.
For Example: Let's consider the product table used in sql joins.
We can use ROUND to round off the unit_price to the nearest integer, if any
product has prices in fraction.
SELECT ROUND (unit_price) FROM product;
2) Character or Text Functions:
Character or text functions are used to manipulate text strings.
They accept strings or characters as input and can return both character and
number values as output.
Few of the character or text functions are as given below:
Function Name
|
Return Value
|
LOWER (string_value)
|
All the letters in 'string_value'is
converted to lowercase.
|
UPPER (string_value)
|
All the letters in 'string_value'is
converted to uppercase.
|
INITCAP (string_value)
|
All the letters in 'string_value'is
converted to mixed case.
|
LTRIM (string_value, trim_text)
|
All occurrences of 'trim_text' is
removed from the left of'string_value'.
|
RTRIM (string_value, trim_text)
|
All occurrences of 'trim_text' is
removed from the right of'string_value' .
|
TRIM (trim_text FROM string_value)
|
All occurrences of 'trim_text'from
the left and right of'string_value' , 'trim_text' can
also be only one character long .
|
SUBSTR (string_value, m, n)
|
Returns 'n' number
of characters from 'string_value'starting from the 'm' position.
|
LENGTH (string_value)
|
Number of characters in'string_value' in
returned.
|
LPAD (string_value, n, pad_value)
|
Returns 'string_value' left-padded
with 'pad_value' . The length of the whole string will be
of 'n' characters.
|
RPAD (string_value, n, pad_value)
|
Returns 'string_value' right-padded
with 'pad_value' . The length of the whole string will be
of 'n' characters.
|
For Example, we can use the above UPPER() text function with the
column value as follows.
SELECT UPPER (product_name) FROM product;
The following examples explains the usage of the above character
or text functions
Function Name
|
Examples
|
Return Value
|
LOWER(string_value)
|
LOWER('Good Morning')
|
good morning
|
UPPER(string_value)
|
UPPER('Good Morning')
|
GOOD MORNING
|
INITCAP(string_value)
|
INITCAP('GOOD MORNING')
|
Good Morning
|
LTRIM(string_value, trim_text)
|
LTRIM ('Good Morning', 'Good)
|
Morning
|
RTRIM (string_value, trim_text)
|
RTRIM ('Good Morning', ' Morning')
|
Good
|
TRIM (trim_text FROM string_value)
|
TRIM ('o' FROM 'Good Morning')
|
Gd Mrning
|
SUBSTR (string_value, m, n)
|
SUBSTR ('Good Morning', 6, 7)
|
Morning
|
LENGTH (string_value)
|
LENGTH ('Good Morning')
|
12
|
LPAD (string_value, n, pad_value)
|
LPAD ('Good', 6, '*')
|
**Good
|
RPAD (string_value, n, pad_value)
|
RPAD ('Good', 6, '*')
|
Good**
|
3) Date Functions:
These are functions that take values that are of datatype DATE
as input and return values of datatypes DATE, except for the MONTHS_BETWEEN
function, which returns a number as output.
Few date functions are as given below.
Function Name
|
Return Value
|
ADD_MONTHS (date, n)
|
Returns a date value after
adding 'n' months to the date'x'.
|
MONTHS_BETWEEN (x1, x2)
|
Returns the number of months
between dates x1 and x2.
|
ROUND (x, date_format)
|
Returns the date 'x' rounded
off to the nearest century, year, month, date, hour, minute, or second as
specified by the'date_format'.
|
TRUNC (x, date_format)
|
Returns the date 'x' lesser
than or equal to the nearest century, year, month, date, hour, minute, or
second as specified by the 'date_format'.
|
NEXT_DAY (x, week_day)
|
Returns the next date of the'week_day' on
or after the date'x' occurs.
|
LAST_DAY (x)
|
It is used to determine the number
of days remaining in a month from the date 'x'specified.
|
SYSDATE
|
Returns the systems current date
and time.
|
NEW_TIME (x, zone1, zone2)
|
Returns the date and time in zone2
if date 'x' represents the time in zone1.
|
The below table provides the examples for the above functions
Function Name
|
Examples
|
Return Value
|
ADD_MONTHS ( )
|
ADD_MONTHS ('16-Sep-81', 3)
|
16-Dec-81
|
MONTHS_BETWEEN( )
|
MONTHS_BETWEEN ('16-Sep-81',
'16-Dec-81')
|
3
|
NEXT_DAY( )
|
NEXT_DAY ('01-Jun-08',
'Wednesday')
|
04-JUN-08
|
LAST_DAY( )
|
LAST_DAY ('01-Jun-08')
|
30-Jun-08
|
NEW_TIME( )
|
NEW_TIME ('01-Jun-08', 'IST',
'EST')
|
31-May-08
|
4) Conversion Functions:
These are functions that help us to convert a value in one form
to another form. For Ex: a null value into an actual value, or a value from one
datatype to another datatype like NVL, TO_CHAR, TO_NUMBER, TO_DATE.
Few of the conversion functions available in oracle are:
Function Name
|
Return Value
|
TO_CHAR (x [,y])
|
Converts Numeric and Date values
to a character string value. It cannot be used for calculations since it is a
string value.
|
TO_DATE (x [, date_format])
|
Converts a valid Numeric and
Character values to a Date value. Date is formatted to the format specified
by 'date_format'.
|
NVL (x, y)
|
If 'x' is NULL,
replace it with 'y'. 'x'and 'y' must
be of the same datatype.
|
DECODE (a, b, c, d, e,
default_value)
|
Checks the value of 'a',
if a = b, then returns 'c'. If a = d,
then returns 'e'. Else, returns default_value.
|
The below table provides the examples for the above functions
Function Name
|
Examples
|
Return Value
|
TO_CHAR ()
|
TO_CHAR (3000, '$9999')
TO_CHAR (SYSDATE, 'Day, Month YYYY') |
$3000
Monday, June 2008 |
TO_DATE ()
|
TO_DATE ('01-Jun-08')
|
01-Jun-08
|
NVL ()
|
NVL (null, 1)
|
1
|
No comments:
Post a Comment