SlideShare a Scribd company logo
1 of 41
3
Single-Row Functions
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

3-2
SQL Functions


Input                                       Output
                         Function

      arg 1              Function
                      performs action
         arg 2
                                        Result
                                        value

              arg n



3-3
Two Types of SQL Functions


                   Functions




      Single-row               Multiple-row
       functions                functions




3-4
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,...])




3-5
Single-Row Functions

                      Character


      General                         Number
                      Single-row
                       functions



         Conversion                Date


3-6
Character Functions
                        Character
                        functions


      Case conversion        Character manipulation
         functions                 functions

        LOWER                       CONCAT
        UPPER                       SUBSTR
        INITCAP                     LENGTH
                                    INSTR
                                    LPAD
3-7
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




3-8
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

3-9
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



3-10
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




3-11
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

3-12
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




3-13
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




3-14
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


3-15
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.


3-16
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.




3-17
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




3-18
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
       ROUND            Round date

       TRUNC            Truncate date



3-19
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'

3-20
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




3-21
Conversion Functions

                      Datatype
                     conversion



       Implicit datatype    Explicit datatype
         conversion           conversion




3-22
Implicit Datatype Conversion

 For assignments, the Oracle can
 automatically convert the following:
 From                  To
 VARCHAR2 or CHAR      NUMBER

 VARCHAR2 or CHAR      DATE

 NUMBER                VARCHAR2

 DATE                  VARCHAR2

3-23
Implicit Datatype Conversion

For expression evaluation, the Oracle Server
can automatically convert the following:
  From                 To
  VARCHAR2 or CHAR     NUMBER

  VARCHAR2 or CHAR     DATE




 3-24
Explicit Datatype Conversion
           TO_NUMBER       TO_DATE




       NUMBER        CHARACTER       DATE




           TO_CHAR         TO_CHAR


3-25
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
3-26
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

3-27
Elements of 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


3-28
Using TO_CHAR Function
               with Dates
SQL> SELECT ename,
  2         TO_CHAR(hiredate, 'fmDD 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.


 3-29
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
3-30
Using TO_CHAR Function
            with Numbers

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


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




3-31
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'])



3-32
RR Date Format
  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          0–49    the current century     the century before
 current                                         the current one
 year are:               The return date is in   The return date is in
                 50–99   the century after       the current century
                         the current one

3-33
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')



3-34
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.




3-35
DECODE Function

Facilitates conditional inquiries by doing
the work of a CASE or IF-THEN-ELSE
statement
 DECODE(col/expression, search1, result1
                        [, search2, result2,...,]
                        [, default])




3-36
Using the DECODE Function

 SQL> SELECT job, sal,
   2         DECODE(job, 'ANALYST', SAL*1.1,
   3                     'CLERK',   SAL*1.15,
   4                     'MANAGER', SAL*1.20,
   5                                SAL)
   6                REVISED_SALARY
   7 FROM    emp;

 JOB             SAL REVISED_SALARY
 --------- --------- --------------
 PRESIDENT      5000           5000
 MANAGER        2850           3420
 MANAGER        2450           2940
 ...
 14 rows selected.


3-37
Using the DECODE Function
Display the applicable tax rate for each
employee in department 30.
 SQL> SELECT ename, sal,
   2         DECODE(TRUNC(sal/1000, 0),
   3                          0, 0.00,
   4                          1, 0.09,
   5                          2, 0.20,
   6                          3, 0.30,
   7                          4, 0.40,
   8                          5, 0.42,
   9                          6, 0.44,
  10                             0.45) TAX_RATE
  11 FROM     emp
  12 WHERE    deptno = 30;


3-38
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

3-39
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




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



3-41

More Related Content

What's hot

What's hot (20)

Single row functions
Single row functionsSingle row functions
Single row functions
 
COIS 420 - Practice01
COIS 420 - Practice01COIS 420 - Practice01
COIS 420 - Practice01
 
Les03
Les03Les03
Les03
 
Olapsql
OlapsqlOlapsql
Olapsql
 
Cube rollup slides
Cube rollup slidesCube rollup slides
Cube rollup slides
 
Polymorphic Table Functions in 18c
Polymorphic Table Functions in 18cPolymorphic Table Functions in 18c
Polymorphic Table Functions in 18c
 
Unit 3 - Function & Grouping,Joins and Set Operations in ORACLE
Unit 3 - Function & Grouping,Joins and Set Operations in ORACLEUnit 3 - Function & Grouping,Joins and Set Operations in ORACLE
Unit 3 - Function & Grouping,Joins and Set Operations in ORACLE
 
Les05[1]Aggregating Data Using Group Functions
Les05[1]Aggregating Data  Using Group FunctionsLes05[1]Aggregating Data  Using Group Functions
Les05[1]Aggregating Data Using Group Functions
 
Les03[1] Single-Row Functions
Les03[1] Single-Row FunctionsLes03[1] Single-Row Functions
Les03[1] Single-Row Functions
 
What's New in MariaDB Server 10.3
What's New in MariaDB Server 10.3What's New in MariaDB Server 10.3
What's New in MariaDB Server 10.3
 
Les12 creating views
Les12 creating viewsLes12 creating views
Les12 creating views
 
Les02
Les02Les02
Les02
 
SQL OUR NEEDS
SQL OUR NEEDSSQL OUR NEEDS
SQL OUR NEEDS
 
Les00 Intoduction
Les00 IntoductionLes00 Intoduction
Les00 Intoduction
 
Les10[1]Creating and Managing Tables
Les10[1]Creating and Managing TablesLes10[1]Creating and Managing Tables
Les10[1]Creating and Managing Tables
 
SQL for pattern matching (Oracle 12c)
SQL for pattern matching (Oracle 12c)SQL for pattern matching (Oracle 12c)
SQL for pattern matching (Oracle 12c)
 
Les03 (Using Single Row Functions To Customize Output)
Les03 (Using Single Row Functions To Customize Output)Les03 (Using Single Row Functions To Customize Output)
Les03 (Using Single Row Functions To Customize Output)
 
Les06 Subqueries
Les06 SubqueriesLes06 Subqueries
Les06 Subqueries
 
Les10
Les10Les10
Les10
 
Les12[1]Creating Views
Les12[1]Creating ViewsLes12[1]Creating Views
Les12[1]Creating Views
 

Similar to COIS 420 - Practice 03

Using single row functions to customize output
Using single row functions to customize outputUsing single row functions to customize output
Using single row functions to customize output
Syed Zaid Irshad
 
e computer notes - Single row functions
e computer notes - Single row functionse computer notes - Single row functions
e computer notes - Single row functions
ecomputernotes
 
Intro to tsql unit 10
Intro to tsql   unit 10Intro to tsql   unit 10
Intro to tsql unit 10
Syed Asrarali
 
Key functions in_oracle_sql
Key functions in_oracle_sqlKey functions in_oracle_sql
Key functions in_oracle_sql
pgolhar
 

Similar to COIS 420 - Practice 03 (20)

Les03.pptx
Les03.pptxLes03.pptx
Les03.pptx
 
Using single row functions to customize output
Using single row functions to customize outputUsing single row functions to customize output
Using single row functions to customize output
 
Les03
Les03Les03
Les03
 
Single row functions
Single row functionsSingle row functions
Single row functions
 
Les03 Single Row Functions in Oracle and SQL.ppt
Les03 Single Row Functions in Oracle and SQL.pptLes03 Single Row Functions in Oracle and SQL.ppt
Les03 Single Row Functions in Oracle and SQL.ppt
 
Single-Row Functions in orcale Data base
Single-Row Functions in orcale Data baseSingle-Row Functions in orcale Data base
Single-Row Functions in orcale Data base
 
Function and types
Function  and typesFunction  and types
Function and types
 
Les03
Les03Les03
Les03
 
e computer notes - Single row functions
e computer notes - Single row functionse computer notes - Single row functions
e computer notes - Single row functions
 
Les03
Les03Les03
Les03
 
SQL BUILT-IN FUNCTION
SQL BUILT-IN FUNCTIONSQL BUILT-IN FUNCTION
SQL BUILT-IN FUNCTION
 
Introduction To Oracle Sql
Introduction To Oracle SqlIntroduction To Oracle Sql
Introduction To Oracle Sql
 
Intro to tsql unit 10
Intro to tsql   unit 10Intro to tsql   unit 10
Intro to tsql unit 10
 
sql functions3.pdf about the function of sql
sql functions3.pdf about the function of sqlsql functions3.pdf about the function of sql
sql functions3.pdf about the function of sql
 
Sql queries
Sql queriesSql queries
Sql queries
 
Beginers guide for oracle sql
Beginers guide for oracle sqlBeginers guide for oracle sql
Beginers guide for oracle sql
 
5.Analytical Function.pdf
5.Analytical Function.pdf5.Analytical Function.pdf
5.Analytical Function.pdf
 
SAS functions.pptx
SAS functions.pptxSAS functions.pptx
SAS functions.pptx
 
sql functions3 (1).pdf
sql functions3 (1).pdfsql functions3 (1).pdf
sql functions3 (1).pdf
 
Key functions in_oracle_sql
Key functions in_oracle_sqlKey functions in_oracle_sql
Key functions in_oracle_sql
 

More from Angel G Diaz

SQL Developer installation-guide
SQL Developer installation-guideSQL Developer installation-guide
SQL Developer installation-guide
Angel G Diaz
 
Lesson - 02 Network Design and Management
Lesson - 02 Network Design and ManagementLesson - 02 Network Design and Management
Lesson - 02 Network Design and Management
Angel G Diaz
 
Lesson 01 - Introduction to SQL
Lesson 01 - Introduction to SQLLesson 01 - Introduction to SQL
Lesson 01 - Introduction to SQL
Angel G Diaz
 
Errors, Error Detection, and Error Control
Errors, Error Detection, and Error ControlErrors, Error Detection, and Error Control
Errors, Error Detection, and Error Control
Angel G Diaz
 
Errors, Error Detection, and Error Control
Errors, Error Detection, and Error ControlErrors, Error Detection, and Error Control
Errors, Error Detection, and Error Control
Angel G Diaz
 
Making Connections Efficient: Multiplexing and Compression
Making Connections Efficient: Multiplexing and CompressionMaking Connections Efficient: Multiplexing and Compression
Making Connections Efficient: Multiplexing and Compression
Angel G Diaz
 
Making Connections
Making ConnectionsMaking Connections
Making Connections
Angel G Diaz
 
Conducted and Wireless Media
Conducted and Wireless MediaConducted and Wireless Media
Conducted and Wireless Media
Angel G Diaz
 
Fundamentals of Data and Signals
Fundamentals of Data and SignalsFundamentals of Data and Signals
Fundamentals of Data and Signals
Angel G Diaz
 
Introduction to Computer Networks and Data Communications
Introduction to Computer Networks and Data CommunicationsIntroduction to Computer Networks and Data Communications
Introduction to Computer Networks and Data Communications
Angel G Diaz
 

More from Angel G Diaz (18)

SQL Developer installation-guide
SQL Developer installation-guideSQL Developer installation-guide
SQL Developer installation-guide
 
Lesson - 02 Network Design and Management
Lesson - 02 Network Design and ManagementLesson - 02 Network Design and Management
Lesson - 02 Network Design and Management
 
Lesson 01 - Introduction to SQL
Lesson 01 - Introduction to SQLLesson 01 - Introduction to SQL
Lesson 01 - Introduction to SQL
 
Lesson 01 - Network Assessment
Lesson 01 - Network AssessmentLesson 01 - Network Assessment
Lesson 01 - Network Assessment
 
OracleXE & SQLDeveloper Install
OracleXE & SQLDeveloper InstallOracleXE & SQLDeveloper Install
OracleXE & SQLDeveloper Install
 
GNS3 Simulator Installation
GNS3 Simulator InstallationGNS3 Simulator Installation
GNS3 Simulator Installation
 
WAMP & Joomla! Installation
WAMP & Joomla! InstallationWAMP & Joomla! Installation
WAMP & Joomla! Installation
 
COIS 420 - Practice04
COIS 420 - Practice04COIS 420 - Practice04
COIS 420 - Practice04
 
COIS 420 - Practice02
COIS 420 - Practice02COIS 420 - Practice02
COIS 420 - Practice02
 
Lesson02 - Network Design & LAN
Lesson02 - Network Design & LANLesson02 - Network Design & LAN
Lesson02 - Network Design & LAN
 
Errors, Error Detection, and Error Control
Errors, Error Detection, and Error ControlErrors, Error Detection, and Error Control
Errors, Error Detection, and Error Control
 
Errors, Error Detection, and Error Control
Errors, Error Detection, and Error ControlErrors, Error Detection, and Error Control
Errors, Error Detection, and Error Control
 
Making Connections Efficient: Multiplexing and Compression
Making Connections Efficient: Multiplexing and CompressionMaking Connections Efficient: Multiplexing and Compression
Making Connections Efficient: Multiplexing and Compression
 
Making Connections
Making ConnectionsMaking Connections
Making Connections
 
Conducted and Wireless Media
Conducted and Wireless MediaConducted and Wireless Media
Conducted and Wireless Media
 
Fundamentals of Data and Signals
Fundamentals of Data and SignalsFundamentals of Data and Signals
Fundamentals of Data and Signals
 
Introduction to Computer Networks and Data Communications
Introduction to Computer Networks and Data CommunicationsIntroduction to Computer Networks and Data Communications
Introduction to Computer Networks and Data Communications
 
Cois240 lesson01
Cois240 lesson01Cois240 lesson01
Cois240 lesson01
 

Recently uploaded

Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
fonyou31
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Krashi Coaching
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 

Recently uploaded (20)

Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 

COIS 420 - Practice 03

  • 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 3-2
  • 3. SQL Functions Input Output Function arg 1 Function performs action arg 2 Result value arg n 3-3
  • 4. Two Types of SQL Functions Functions Single-row Multiple-row functions functions 3-4
  • 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,...]) 3-5
  • 6. Single-Row Functions Character General Number Single-row functions Conversion Date 3-6
  • 7. Character Functions Character functions Case conversion Character manipulation functions functions LOWER CONCAT UPPER SUBSTR INITCAP LENGTH INSTR LPAD 3-7
  • 8. 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 3-8
  • 9. 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 3-9
  • 10. 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 3-10
  • 11. 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 3-11
  • 12. 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 3-12
  • 13. 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 3-13
  • 14. 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 3-14
  • 15. 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 3-15
  • 16. 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. 3-16
  • 17. 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. 3-17
  • 18. 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 3-18
  • 19. 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 ROUND Round date TRUNC Truncate date 3-19
  • 20. 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' 3-20
  • 21. 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 3-21
  • 22. Conversion Functions Datatype conversion Implicit datatype Explicit datatype conversion conversion 3-22
  • 23. Implicit Datatype Conversion For assignments, the Oracle can automatically convert the following: From To VARCHAR2 or CHAR NUMBER VARCHAR2 or CHAR DATE NUMBER VARCHAR2 DATE VARCHAR2 3-23
  • 24. Implicit Datatype Conversion For expression evaluation, the Oracle Server can automatically convert the following: From To VARCHAR2 or CHAR NUMBER VARCHAR2 or CHAR DATE 3-24
  • 25. Explicit Datatype Conversion TO_NUMBER TO_DATE NUMBER CHARACTER DATE TO_CHAR TO_CHAR 3-25
  • 26. 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 3-26
  • 27. 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 3-27
  • 28. Elements of 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 3-28
  • 29. Using TO_CHAR Function with Dates SQL> SELECT ename, 2 TO_CHAR(hiredate, 'fmDD 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. 3-29
  • 30. 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 3-30
  • 31. Using TO_CHAR Function with Numbers SQL> SELECT TO_CHAR(sal,'$99,999') SALARY 2 FROM emp 3 WHERE ename = 'SCOTT'; SALARY -------- $3,000 3-31
  • 32. 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']) 3-32
  • 33. RR Date Format 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 0–49 the current century the century before current the current one year are: The return date is in The return date is in 50–99 the century after the current century the current one 3-33
  • 34. 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') 3-34
  • 35. 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. 3-35
  • 36. DECODE Function Facilitates conditional inquiries by doing the work of a CASE or IF-THEN-ELSE statement DECODE(col/expression, search1, result1 [, search2, result2,...,] [, default]) 3-36
  • 37. Using the DECODE Function SQL> SELECT job, sal, 2 DECODE(job, 'ANALYST', SAL*1.1, 3 'CLERK', SAL*1.15, 4 'MANAGER', SAL*1.20, 5 SAL) 6 REVISED_SALARY 7 FROM emp; JOB SAL REVISED_SALARY --------- --------- -------------- PRESIDENT 5000 5000 MANAGER 2850 3420 MANAGER 2450 2940 ... 14 rows selected. 3-37
  • 38. Using the DECODE Function Display the applicable tax rate for each employee in department 30. SQL> SELECT ename, sal, 2 DECODE(TRUNC(sal/1000, 0), 3 0, 0.00, 4 1, 0.09, 5 2, 0.20, 6 3, 0.30, 7 4, 0.40, 8 5, 0.42, 9 6, 0.44, 10 0.45) TAX_RATE 11 FROM emp 12 WHERE deptno = 30; 3-38
  • 39. 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 3-39
  • 40. 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 3-40
  • 41. 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 3-41