l4-1-manipulating data using...

10
10/31/18 1 Working with Data L4 – 1 – Manipulating Data using SQL String processing Date Processing Regular Expression

Upload: others

Post on 11-Aug-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: L4-1-Manipulating Data using SQLb-tierney.com/wp-content/uploads/2018/10/L4-1-Manipulating-Data-u… · 10/31/18 1 Working with Data L4 –1 –Manipulating Data using SQL •String

10/31/18

1

Working with Data

L4 – 1 – Manipulating Data using SQL

• String processing

• Date Processing

• Regular Expression

Page 2: L4-1-Manipulating Data using SQLb-tierney.com/wp-content/uploads/2018/10/L4-1-Manipulating-Data-u… · 10/31/18 1 Working with Data L4 –1 –Manipulating Data using SQL •String

10/31/18

2

• String processing

• Date Processing

• Regular Expression

String Processing

• Upper Case, Lower Case, Mixed Case

• String Padding

• Sub-strings, etc

Page 3: L4-1-Manipulating Data using SQLb-tierney.com/wp-content/uploads/2018/10/L4-1-Manipulating-Data-u… · 10/31/18 1 Working with Data L4 –1 –Manipulating Data using SQL •String

10/31/18

3

Upper Case, Lower Case, Mixed Case

UPPERSELECT UPPER('Brendan'), UPPER('brendan') , UPPER('BrEnDan')FROM dual;

BRENDAN, BRENDAN, BRENDAN

LOWERSELECT UPPER('Brendan'), UPPER('brendan') , UPPER('BrEnDan')FROM dual;

brendan, brendan, brendan

INITCAPSELECT initcap('Brendan'), initcap('brendan'), initcap('BrEnDan')FROM dual;

Brendan, Brendan, Brendan

String Padding & Trimming

LPAD (left pad)-- 00123Select LPAD('123', 5, '0') From Dual;

-- 12345Select LPAD('1234567', 5, '0') From Dual;

-- ' Tom'Select LPAD('Tom', 10) From Dual;

-- 'To'Select LPAD('Tom', 2) From Dual;

Page 4: L4-1-Manipulating Data using SQLb-tierney.com/wp-content/uploads/2018/10/L4-1-Manipulating-Data-u… · 10/31/18 1 Working with Data L4 –1 –Manipulating Data using SQL •String

10/31/18

4

String Padding & Trimming

RPAD (right pad)-- 12300Select RPAD('123', 5, '0') From Dual;

-- 12345Select RPAD('1234567', 5, '0') From Dual;

-- ‘Tom. 'Select RPAD('Tom', 10) From Dual;

-- 'To'Select RPAD('Tom', 2) From Dual;

String Padding & Trimming

LTRIM (left trim)-- TOMSelect LTRIM(' TOM') From dual;

-- 789Select LTRIM('000789', '0') From Dual;

-- ABC01Select LTRIM('0101ABC01', '01') From dual;

RTRIM (right trim)-- TOMSelect RTRIM('TOM ') From dual;

-- 000789Select RTRIM('00078900', '0') From Dual;

-- 0101ABCSelect RTRIM('0101ABC0101', '01') From dual;

Page 5: L4-1-Manipulating Data using SQLb-tierney.com/wp-content/uploads/2018/10/L4-1-Manipulating-Data-u… · 10/31/18 1 Working with Data L4 –1 –Manipulating Data using SQL •String

10/31/18

5

Sub-strings

SUBSTR subtring SUBSTR( p_string, p_start_position [, p_length ] )-- 'is is'Select substr('this is a text message',3,5) Column1 from dual;-- 'is is a text message'Select substr('this is a text message',3) Column1 from dual;-- 'messa'Select substr('this is a text message',-7,5) Column1 from dual;-- 'message'Select substr('this is a text message',-7) Column1 from dual;

LENGTH-- 7Select Length('Tom Cat') As Column1 From Dual;

INSTR-- 4select instr('Brendan', 'n') from dual;-- 7select instr('Brendan', 'n', 1, 2) from dual;-- 14select Instr('Corporate Floor', 'or', 5, 2) as Column1 from dual;

Sub-strings

CONCAT

Select Concat(‘Brendan ', ‘Tierney') From dual;

Brendan Tierney

Page 6: L4-1-Manipulating Data using SQLb-tierney.com/wp-content/uploads/2018/10/L4-1-Manipulating-Data-u… · 10/31/18 1 Working with Data L4 –1 –Manipulating Data using SQL •String

10/31/18

6

• String processing

• Date Processing

• Regular Expression

Date Processing

• Date data types

• Arithmetic on Dates

• TO_DATE

• TO_CHAR

• ADD_MONTHS

• MONTHS_BETWEEN

• LAST_DAY

• NEXT_DAY

Page 7: L4-1-Manipulating Data using SQLb-tierney.com/wp-content/uploads/2018/10/L4-1-Manipulating-Data-u… · 10/31/18 1 Working with Data L4 –1 –Manipulating Data using SQL •String

10/31/18

7

The standard date format for input and output is DD-MON-YY e.g., 01-JAN-17 which is controlled by the value of the NLS_DATE_FORMAT parameter.

SELECT valueFROM V$NLS_PARAMETERSWHERE parameter = 'NLS_DATE_FORMAT';

SELECT sysdateFROM dual;

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';

Default Date data type is:

DATE

Stores Date and Time (HH24:MI)

Be very careful what you use

Page 8: L4-1-Manipulating Data using SQLb-tierney.com/wp-content/uploads/2018/10/L4-1-Manipulating-Data-u… · 10/31/18 1 Working with Data L4 –1 –Manipulating Data using SQL •String

10/31/18

8

Functions

TO_DATE (converts a string to a date)TO_DATE('31-10-2018', 'DD-MM-YYYY')TO_DATE('10-31-2019', 'MM-DD-YYYY'

TO_CHAR (converts a date to a stringTO_CHAR(created_date, 'DD-MOM-YYYY')

TRUNC (returns the date only, truncates the time element)TRUNC(created_date)

MONTHS_BETWEENMONTHS_BETWEEN(sysdate, emp_hire_date)

ADD_MONTHSADD_MONTHS(sysdate, 3)

Functions (continued)

LAST_DAYLAST_DAY(sysdate)

NEXT_DAY (returns the date of the next day after the dateNEXT_DAY(sysdate, 'Monday') -- returns the next Monday after todayNEXT_DAY(sysdate, 'FRIDAY') -- returns the next Friday after today

Page 9: L4-1-Manipulating Data using SQLb-tierney.com/wp-content/uploads/2018/10/L4-1-Manipulating-Data-u… · 10/31/18 1 Working with Data L4 –1 –Manipulating Data using SQL •String

10/31/18

9

Date Addition and Substraction

Add x Days to a Datecreated_date + 1

SELECT sysdate + 10FROM dual;

Subtract x Dayscreated_date 1 1

SELECT sysdate 1 10FROM dual;

Days between dates(Sysdate – emp_hire_date)

• String processing

• Date Processing

• Regular Expression

Page 10: L4-1-Manipulating Data using SQLb-tierney.com/wp-content/uploads/2018/10/L4-1-Manipulating-Data-u… · 10/31/18 1 Working with Data L4 –1 –Manipulating Data using SQL •String

10/31/18

10

Regular Expressions

https://oracle-base.com/articles/misc/regular-expressions-support-in-oraclehttps://docs.oracle.com/en/database/oracle/oracle-

database/12.2/adfns/regexp.html#GUID-1935FD80-A3CD-413F-BD2E-BBEFE64000B2