chapter six data manipulation language (dml) functions objectives single row functions character...

Post on 16-Dec-2015

241 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Chapter SixData Manipulation Language (DML)Functions

Objectives Single Row functions Character functions Number functions Date functions

2

Functions Introduction Types of functions

Single row Multiple rows

Single Row Functions:

FACTS: Act on each row Return one result per row May modify the data type returned type Can be nested

4

Single Row Functions Character Number Date Conversion General

5

Character Manipulation: LOWER(Col | Exp)

LOWER(‘Database course’)

UPPER (Col | Exp)UPPER (‘Database course’)

INITCAP (Col | Exp)INITCAP (‘Database course’)

6

Practice:

Display last name and first name of customers. Last name in upper case. First character of each first name in upper case, the rest in lower case.

Example:

SMITH Lori

7

Character Manipulation CONCAT (Col1 | Exp1, Col2 | Exp2)

CONCAT(‘This ‘,’that’)

SUBSTR(Col | Exp,n,[m])SUBSTR(‘This is it’,2,5)

LPAD(Col | Exp,n,’string’)LPAD(name,9,’.’)

8

Character Manipulation LENGTH(Col | Exp)

LENGTH(‘this is it’)

CHR(integer)CHR(97)

INSTR(‘Computer’,’m’)

9

List(Characters): Example:

SELECT LOWER(name), UPPER(major), LENGTH(name)

FROM student;

SELECT CONCAT(Name , Address) , GPAFROM Student;

  SELECT Name || ‘--->‘ || Address , GPA

FROM Student;

10

List(Characters): SELECT RPAD (Name, 40, ‘.’), GPA

FROM Student;JOHN............... 3.1MARY ............. 3.2

SELECT RPAD (Name, 20), GPAFROM Student;

MARY 3.2 MOHAMMAD 3.3

SELECT LPAD (Name, 20), GPAFROM Student;

MARY 3.2 MOHAMMAD 3.3

11

Practice:

Display the last name and address of each customer together. In the next column display customer phone number.

SMITH 11 MAIN ST FROSTBURG MD……..301 689 1111

12

List(Characters): RTRIM(Col)

RTRIM (Name)RTRIM (Name, ‘.’)LTRIM (Name, ‘ABC’)

 LTRIM ( RTRIM( Name, ‘.’ ), ‘a’)From Student;

13

Practice:

Customer phone number is stored as: -301-689-1111:

Part 1- We would like to delete the first dash and the last colon from the phone numbers:

-301-689-1111:Part 2- Remove all dashes and colon

14

List(Characters): SELECT Name

FROM StudentWHERE LENGTH(Address)<20;

SELECT Name, SUBSTR (SSN, 5 ,2)

FROM Student;

SELECT Name, SUBSTR (SSN,5)FROM Student;

15

List(Characters): SELECT RPAD

(INITCAP(LOWER(Name)),70,’.’), SUBSTR (SSN,5)

FROM Student;

SELECT NameFROM StudentWHERE SUBSTR (SSN,5,2)=’80’;

SELECT Name, SUBSTR (SSN,-4)FROM Student;

16

Practice:

Display the 10 characters from OrderPart description starting at location 6.

Example:Door Replacement Handle

17

List(Characters): SELECT Name, INSTR (Name,’r’)

FROMStudent;  ------------------------------------------------

MARY 3JOHN 0ROBIN 1

SELECT Name, INSTR (Name,’r’,1,2)FROMStudent;

SELECT Name, INSTR(Address,’Frostburg’)FROMStudent;

18

Practice:

We would like to switch the position of last name with the first name. Assume the attribute name consists of both first and last names with a blank character in between.

19

LIST(Numbers) ROUND (value, precision)

ROUND(234.1161,2)

TRUNC(value, precision)TRUNC(234.1161,2)

POWER(value,exponent)POWER(3,2) 

MOD(value1, value2)MOD(900,400)

20

LIST(Numbers) SELECT ROUND(Salary,1)

FROM Faculty;

SELECT TRUNC(234.111,2), FROM DUAL;

TRUNC(234.567);TRUNC(234.5678,-2);

21

DATE: Date is stored in an internal numeric

format: century, year, month, day, hours, minutes, second

Default date is DD-MON-YY

SYSDATE

22

DATE: Example:

List the ages of students  SELECT name, SYSDATE -

B_DateFROM student;

23

Practice:

Display today’s date.

24

Date Date + number Date – number Date – date Date + number/24

25

DATE: MONTHS_BETWEEN(day1,day2)

SELECT name, MONTHS_BETWEEN(SYSDATE , B_Date)

age_in_month

FROM Student;

26

DATE: ADD_MONTHS (date,n) SELECT name,

ADD_MONTHS(B_Date,5) age

FROM Student;

27

DATE: ROUND(date [,fmt])  SELECT name, ROUND

(B_Date,’MONTH’)FROM Student;

SELECT name, ROUND(B_Date,’YEAR’)FROM Student;

28

Conversion Function:

Implicit conversion (Automatic):

CHAR or VARCHAR2 to NUMBER CHAR or VARCHAR2 to DATE NUMBER to VARCHAR2 DATE to VARCHAR2

29

Conversion Function:

Explicit datatype conversion:

TO_CHAR (NUMBER [,‘fmt’] ) TO_CHAR (DATE [,‘fmt’] ) TO_DATE (CHAR [,‘fmt’] ) TO_NUMBER (CHAR [,‘fmt’] )

30

Conversion Function:

SELECT TO_CHAR(b_date,’MM/YY’)FROM student;

Format: YYYY YEAR MM MONTH DY DAY

31

Conversion Function:

SELECTSUBSTR(TO_CHAR(111223333),1,3)

||‘-’ || SUBSTR

(TO_CHAR(111223333),4,2) || ‘-’ ||SUBSTR(TO_CHAR(111223333),6)

FROM Student;

32

Conversion Function:

SELECT SUBSTR(ssn,1,3) || ‘-’ || SUBSTR(ssn,4,2) || ‘-’ ||SUBSTR(ssn,6)

FROM Student;

top related