Sunteți pe pagina 1din 15

SQL> cl scr

SQL>
2
3
4

SELECT
'STRING' Original,
INSTR('STRING' , 'R') InString
FROM DUAL;

ORIGIN INSTRING
------ ---------STRING
3
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'STRING' Original,
INSTR('STRING' , 'RIN') InString
FROM DUAL
/

ORIGIN INSTRING
------ ---------STRING
3
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'STRING' Original,
INSTR('STRING' , 'RN') InString
FROM DUAL
/

ORIGIN INSTRING
------ ---------STRING
0
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'STRING' Original,
INSTR('STRING' , 'R', 1, 1) InString
FROM DUAL
/

ORIGIN INSTRING
------ ---------STRING
3
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'STRING' Original,
INSTR('STRING' , 'R', 1, 2) InString
FROM DUAL
/

ORIGIN

INSTRING

------ ---------STRING
0
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'STRING' Original,
INSTR('STRING' , 'R', 2, 1) InString
FROM DUAL
/

ORIGIN INSTRING
------ ---------STRING
3
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'STRING' Original,
INSTR('STRING' , 'R', -2, 1) InString
FROM DUAL
/

ORIGIN INSTRING
------ ---------STRING
3
SQL> cl scr
SQL>
2
3
4

SELECT
'CORPORATE FLOOR' Original,
INSTR('CORPORATE FLOOR', 'OR', 3, 2) InString
FROM DUAL;

ORIGINAL
INSTRING
--------------- ---------CORPORATE FLOOR
14
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'CORPORATE FLOOR' Original,
INSTR('CORPORATE FLOOR', 'OR', 3, 1) InString
FROM DUAL
/

ORIGINAL
INSTRING
--------------- ---------CORPORATE FLOOR
5
SQL> ed
Wrote file afiedt.buf
1
2
3
4*

SELECT
'CORPORATE FLOOR' Original,
INSTR('CORPORATE FLOOR', 'OR', 3, 3) InString
FROM DUAL

SQL> /
ORIGINAL
INSTRING
--------------- ---------CORPORATE FLOOR
0
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'CORPORATE FLOOR' Original,
INSTR('CORPORATE FLOOR', 'OR', -5, 2) InString
FROM DUAL
/

ORIGINAL
INSTRING
--------------- ---------CORPORATE FLOOR
2
SQL> SELECT Job, INSTR(Job, 'A', 1, 2) InString
2 FROM Emp
3 WHERE Job = 'MANAGER';
JOB
INSTRING
---------- ---------MANAGER
4
MANAGER
4
MANAGER
4
SQL> ed
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Job, INSTR(Job, 'A', 1, 2) InString


FROM Emp
--WHERE Job = 'MANAGER'
/

JOB
INSTRING
---------- ---------PRESIDENT
0
MANAGER
4
MANAGER
4
MANAGER
4
SALESMAN
7
SALESMAN
7
SALESMAN
7
CLERK
0
SALESMAN
7
ANALYST
3
CLERK
0
JOB
INSTRING
---------- ---------ANALYST
3
CLERK
0
CLERK
0
14 rows selected.
SQL> cl scr

SQL>
2
3
4
5

SELECT
Job Original,
SUBSTR(Job, INSTR(Job, 'A', 1, 2), 3) SubString
FROM Emp
WHERE Job = 'MANAGER';

ORIGINAL
--------MANAGER
MANAGER
MANAGER

SUB
--AGE
AGE
AGE

SQL> cl scr
SQL>
2
3
4
5

SELECT
Job Original,
SUBSTR(Job, INSTR(Job, 'A', 1, 2), 3) SubString
FROM Emp
WHERE SUBSTR(Job, INSTR(Job, 'A', 1, 2), 1) = 'A';

ORIGINAL
--------MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
SALESMAN
ANALYST
ANALYST

SUB
--AGE
AGE
AGE
AN
AN
AN
AN
ALY
ALY

9 rows selected.
SQL> cl scr
SQL>
2
3
4
5
6

SELECT
'Sample_Text' OrgString,
SUBSTR('Sample_Text', 1, 6) Sample,
SUBSTR('Sample_Text', 7) Text
FROM DUAL
/

ORGSTRING SAMPLE TEXT


----------- ------ ----Sample_Text Sample _Text
SQL> ed
Wrote file afiedt.buf
1
2
3
4
5*
SQL>

SELECT
'Sample_Text' OrgString,
SUBSTR('Sample_Text', 1, 6) Sample,
SUBSTR('Sample_Text', 8) Text
FROM DUAL
/

ORGSTRING SAMPLE TEXT


----------- ------ ----

Sample_Text Sample Text


SQL> cl scr
SQL>
2
3
4
5
6

SELECT
'Sample_Text' OrgString,
SUBSTR('Sample_Text', 1, INSTR('Sample_Text', '_', 1, 1) - 1) Sample,
SUBSTR('Sample_Text', INSTR('Sample_Text', '_', 1, 1) + 1) Text
FROM DUAL
/

ORGSTRING SAMPLE TEXT


----------- ------ ---Sample_Text Sample Text
SQL> cl scr
SQL> COLUMN String1 FORMAT A7
SQL> COLUMN String2 FORMAT A7
SQL> COLUMN String3 FORMAT A7
SQL> SELECT
2 'APPLE_IS_FRUIT' OrgString,
3 SUBSTR('APPLE_IS_FRUIT', 1, INSTR('APPLE_IS_FRUIT', '_', 1, 1) - 1) String1
,
4 SUBSTR('APPLE_IS_FRUIT',
5
(INSTR('APPLE_IS_FRUIT', '_', 1, 1) + 1),
6
(INSTR('APPLE_IS_FRUIT', '_', 1, 2) - 1) - ((INSTR('APPLE_IS_FRUIT', '
_', 1, 1)))) String2,
7 SUBSTR('APPLE_IS_FRUIT', (INSTR('APPLE_IS_FRUIT', '_', 1, 2) + 1)) String3
8 FROM DUAL
9 /
ORGSTRING
STRING1 STRING2 STRING3
-------------- ------- ------- ------APPLE_IS_FRUIT APPLE IS
FRUIT
SQL>
SQL> cl scr
SQL> COLUMN Area FORMAT A4
SQL> COLUMN Street FORMAT A6
SQL> COLUMN Lane FORMAT A4
SQL> COLUMN Sector FORMAT A6
SQL> COLUMN Building FORMAT A8
SQL> COLUMN Building FORMAT A8
SQL> COLUMN Flat FORMAT A4
SQL> COLUMN Door FORMAT A4
SQL> SELECT
2 '125-23-46-235/A/C-12/B' HouseNo,
3 SUBSTR('125-23-46-235/A/C-12/B', 1, INSTR('125-23-46-235/A/C-12/B', '-', 1,
1) - 1) Area,
4 SUBSTR('125-23-46-235/A/C-12/B',
5
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 1) + 1),
6
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 2) - 1) - ((INSTR('125-23-46235/A/C-12/B', '-', 1, 1)))) Street,
7 SUBSTR('125-23-46-235/A/C-12/B',
8
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 2) + 1),
9
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 3) - 1) - ((INSTR('125-23-46235/A/C-12/B', '-', 1, 2)))) Lane,
10 SUBSTR('125-23-46-235/A/C-12/B',

11
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 3) +
12
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 1)
235/A/C-12/B', '-', 1, 3)))) Sector,
13 SUBSTR('125-23-46-235/A/C-12/B',
14
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 1) +
15
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 2)
235/A/C-12/B', '/', 1, 1)))) Building,
16 SUBSTR('125-23-46-235/A/C-12/B',
17
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 2) +
18
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 4)
235/A/C-12/B', '/', 1, 2)))) Floor,
19 SUBSTR('125-23-46-235/A/C-12/B',
20
(INSTR('125-23-46-235/A/C-12/B', '-', 1, 4) +
21
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 3)
235/A/C-12/B', '-', 1, 4)))) Flat,
22 SUBSTR('125-23-46-235/A/C-12/B',
23
(INSTR('125-23-46-235/A/C-12/B', '/', 1, 3) +
24 FROM DUAL
25 /

1),
- 1) - ((INSTR('125-23-461),
- 1) - ((INSTR('125-23-461),
- 1) - ((INSTR('125-23-461),
- 1) - ((INSTR('125-23-461)) Door

HOUSENO
AREA STREET LANE SECTOR BUILDING F FLAT DOOR
---------------------- ---- ------ ---- ------ -------- - ---- ---125-23-46-235/A/C-12/B 125 23
46 235
A
C 12 B
SQL> cl scr
SQL>
2
3
4

SELECT
'Page 1' MyString,
LPAD('Page 1', 15, '*.') LPadded
FROM DUAL;

MYSTRI LPADDED
------ --------------Page 1 *.*.*.*.*Page 1
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'Page 1' MyString,
LPAD('Page 1', 15) LPadded
FROM DUAL
/

MYSTRI LPADDED
------ --------------Page 1
Page 1
SQL> SELECT Ename,
2 LPAD(Ename, 10, '-')
3 FROM Emp WHERE Sal >= 2500;
ENAME
-------KING
BLAKE
JONES
FORD
SCOTT

LPAD(ENAME
---------------KING
-----BLAKE
-----JONES
------FORD
-----SCOTT

SQL> ed
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename,
LPAD(Ename, 10)
FROM Emp WHERE Sal >= 2500
/

ENAME
LPAD(ENAME
-------- ---------KING
KING
BLAKE
BLAKE
JONES
JONES
FORD
FORD
SCOTT
SCOTT
SQL>
2
3
4

SELECT
'Page 1' Rpad,
RPAD('Page 1' , 15, '*.')
FROM DUAL;

RPAD RPAD('PAGE1',15
------ --------------Page 1 Page 1*.*.*.*.*
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'Page 1' Rpad,
RPAD('Page 1' , 15)
FROM DUAL
/

RPAD RPAD('PAGE1',15
------ --------------Page 1 Page 1
SQL> cl scr
SQL> SELECT Ename,
2 LPAD(RPAD(Ename, 10, '-'), 15, '-') Center
3 FROM Emp;
ENAME
-------KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

CENTER
-------------------KING----------BLAKE---------CLARK---------JONES---------MARTIN--------ALLEN---------TURNER--------JAMES---------WARD----------FORD----------SMITH-----

ENAME
CENTER
-------- ---------------

SCOTT
ADAMS
MILLER

-----SCOTT---------ADAMS---------MILLER----

14 rows selected.
SQL> ed
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT Ename,
LPAD(RPAD(Ename, 10), 15) Center
FROM Emp
/

ENAME
CENTER
-------- --------------KING
KING
BLAKE
BLAKE
CLARK
CLARK
JONES
JONES
MARTIN
MARTIN
ALLEN
ALLEN
TURNER
TURNER
JAMES
JAMES
WARD
WARD
FORD
FORD
SMITH
SMITH
ENAME
CENTER
-------- --------------SCOTT
SCOTT
ADAMS
ADAMS
MILLER
MILLER
14 rows selected.
SQL> cl scr
SQL>
2
3
4

SELECT
'xyzXxyLAST WORD' OrgStr,
LTRIM('xyzXxyLAST WORD', 'xy')
FROM DUAL;

ORGSTR
LTRIM('XYZXXY
--------------- ------------xyzXxyLAST WORD zXxyLAST WORD
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'xyzXxyLAST WORD' OrgStr,
LTRIM('xyzXxyLAST WORD', 'zxy')
FROM DUAL
/

ORGSTR
LTRIM('XYZXX
--------------- -----------xyzXxyLAST WORD XxyLAST WORD

SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'xyzXxyLAST WORD' OrgStr,
LTRIM('xyzXxyLAST WORD', 'zxyX')
FROM DUAL
/

ORGSTR
LTRIM('XY
--------------- --------xyzXxyLAST WORD LAST WORD
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'xyzXxyLAST WORD' OrgStr,
LTRIM('xyzXxyLASTxyWORD', 'zxyX')
FROM DUAL
/

ORGSTR
LTRIM('XYZ
--------------- ---------xyzXxyLAST WORD LASTxyWORD
SQL>
2
3
4

SELECT
'BROWNINGyxXxy' String,
RTRIM('BROWNINGyxXxy', 'xy')
FROM DUAL;

STRING
RTRIM('BROW
------------- ----------BROWNINGyxXxy BROWNINGyxX
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'BROWNINGyxXxy' String,
RTRIM('BROWNINGyxXxy', 'xyX')
FROM DUAL
/

STRING
RTRIM('B
------------- -------BROWNINGyxXxy BROWNING
SQL> cl scr
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'BROWNING
RTRIM('BROWNING
FROM DUAL
/

STRING

' String,
')

RTRIM('B

------------------------------ -------BROWNING
BROWNING
SQL> cl scr
SQL> SELECT
2 TRIM('S' FROM 'MITHSS') Trim
3 FROM DUAL;
TRIM
---MITH
SQL> ed
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT
TRIM('S' FROM 'SSMITH') Trim
FROM DUAL
/

TRIM
---MITH
SQL> ed
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT
TRIM('S' FROM 'SSMITHSS') Trim
FROM DUAL
/

TRIM
---MITH
SQL> ed
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT
TRIM(LEADING 'S' FROM 'SSMITHSS') Trim
FROM DUAL
/

TRIM
-----MITHSS
SQL> ed
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT
TRIM(TRAILING 'S' FROM 'SSMITHSS') Trim
FROM DUAL
/

TRIM
-----SSMITH

SQL> ed
Wrote file afiedt.buf
1
2
3*
SQL>

SELECT
TRIM(BOTH 'S' FROM 'SSMITHSS') Trim
FROM DUAL
/

TRIM
---MITH
SQL> ed
Wrote file afiedt.buf
1 SELECT
2 TRIM(BOTH 'SX' FROM 'SXMITHSX') Trim
3* FROM DUAL
SQL> /
TRIM(BOTH 'SX' FROM 'SXMITHSX') Trim
*
ERROR at line 2:
ORA-30001: trim set should have only one character
SQL> cl scr
SQL>
2
3
4

SELECT
'JACK AND JUE' OrgStr,
REPLACE('JACK AND JUE' , 'J', 'BL')
FROM DUAL;

ORGSTR
REPLACE('JACKA
------------ -------------JACK AND JUE BLACK AND BLUE
SQL> cl scr
SQL>
2
3
4

SELECT Ename, Job


FROM Emp
WHERE
LTRIM(Job, 'MAN') LIKE 'GER';

ENAME
-------BLAKE
CLARK
JONES

JOB
---------MANAGER
MANAGER
MANAGER

SQL> cl scr
SQL>
2
3
4

SELECT
'JACK AND JUE' OrgStr,
REPLACE('JACK AND JUE' , 'J', 'BL')
FROM DUAL;

ORGSTR
REPLACE('JACKA
------------ -------------JACK AND JUE BLACK AND BLUE

SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'JACK AND JUE' OrgStr,
REPLACE('JACK AND JUE' , 'J')
FROM DUAL
/

ORGSTR
REPLACE('J
------------ ---------JACK AND JUE ACK AND UE
SQL> ed
Wrote file afiedt.buf
1
2
3
4*
SQL>

SELECT
'JACK AND JUE' OrgStr,
LENGTH('JACK AND JUE') - LENGTH(REPLACE('JACK AND JUE' , 'J')) NJs
FROM DUAL
/

ORGSTR
NJS
------------ ---------JACK AND JUE
2
SQL> cl scr
SQL>
2
3
4

SELECT Ename,
REPLACE(JOB, 'MAN', 'DAM')
FROM Emp
WHERE Job = 'MANAGER';

ENAME
-------BLAKE
CLARK
JONES

REPLACE(JOB,'MAN','DAM')
--------------------------DAMAGER
DAMAGER
DAMAGER

SQL> cl scr
SQL>
2
3
4

SELECT Job,
REPLACE (Job, 'P')
FROM Emp
WHERE Job = 'PRESIDENT';

JOB
REPLACE(J
---------- --------PRESIDENT RESIDENT
SQL>
2
3
4

SELECT Job,
REPLACE (Job, 'MAN', 'EXECUTIVE')
FROM Emp
WHERE Job = 'SALESMAN';

JOB
---------REPLACE(JOB,'MAN','EXECUTIVE')
--------------------------------------------------------------------------------

SALESMAN
SALESEXECUTIVE
SALESMAN
SALESEXECUTIVE
SALESMAN
SALESEXECUTIVE
JOB
---------REPLACE(JOB,'MAN','EXECUTIVE')
-------------------------------------------------------------------------------SALESMAN
SALESEXECUTIVE
SQL> cl scr
SQL>
2
3
4

SELECT Job,
TRANSLATE(Job, 'P', ' ')
FROM Emp
WHERE Job = 'PRESIDENT';

JOB
TRANSLATE
---------- --------PRESIDENT RESIDENT
SQL> ed
Wrote file afiedt.buf
1 SELECT Job,
2 TRANSLATE(Job, 'P')
3 FROM Emp
4* WHERE Job = 'PRESIDENT'
SQL> /
TRANSLATE(Job, 'P')
*
ERROR at line 2:
ORA-00909: invalid number of arguments
SQL>
2
3
4

SELECT Job,
TRANSLATE(Job, 'MN', 'DM')
FROM Emp
WHERE Job = 'MANAGER';

JOB
---------MANAGER
MANAGER
MANAGER

TRANSLATE
--------DAMAGER
DAMAGER
DAMAGER

SQL> cl scr
SQL> SELECT
2 'The Data is : '||CHR(67)||CHR(65)||CHR(84) Sample
3 FROM DUAL;

SAMPLE
----------------The Data is : CAT
SQL> cl scr
SQL> SELECT
2 'The Character of ASCII '||&GNum1||
3 ' is '||CHR(&GNum2) MyData
4 FROM DUAL;
Enter value for gnum1:
Enter value for gnum2:
'The Character of ASCII '||||
*
ERROR at line 2:
ORA-00936: missing expression
SQL> SET VERIFY OFF
SQL> cl scr
SQL> R
1 SELECT
2 'The Character of ASCII '||&GNum1||
3 ' is '||CHR(&GNum2) MyData
4* FROM DUAL
Enter value for gnum1: 65
Enter value for gnum2: 65
MYDATA
-----------------------------The Character of ASCII 65 is A
SQL> /
Enter value for gnum1: 97
Enter value for gnum2: 97
MYDATA
-----------------------------The Character of ASCII 97 is a
SQL> /
Enter value for gnum1: 1
Enter value for gnum2: 1
MYDATA
----------------------------The Character of ASCII 1 is 
SQL> /
Enter value for gnum1: 2
Enter value for gnum2: 2
MYDATA
----------------------------The Character of ASCII 2 is 
SQL> /
Enter value for gnum1: 3
Enter value for gnum2: 3

MYDATA
----------------------------The Character of ASCII 3 is 
SQL> cl scr
SQL>
2
3
4

SELECT
'The ASCII Value of Capital A is : '||ASCII('A') AsciiNum,
'The ASCII Value of APPLE is Also : '||ASCII('APPLE') AsciiNum
FROM DUAL;

ASCIINUM
ASCIINUM
------------------------------------ ------------------------------------The ASCII Value of Capital A is : 65 The ASCII Value of APPLE is Also : 65
SQL> cl scr
SQL>
2
3
4

CREATE TABLE SampleINS


(
SampleName VARCHAR2(15)
);

Table created.
SQL> INSERT INTO SampleINS
2 VALUES('SAMPLEDATA01');
1 row created.
SQL> INSERT INTO SampleINS
2 VALUES('SAMPLE&DATA02');
Enter value for data02: &DATA02
1 row created.
SQL> SELECT * FROM SampleINS;
SAMPLENAME
--------------SAMPLEDATA01
SAMPLE&DATA02
SQL> INSERT INTO SampleINS
2 VALUES('SAMPLE'||&||'DATA03');
VALUES('SAMPLE'||&||'DATA03')
*
ERROR at line 2:
ORA-01745: invalid host/bind variable name
SQL> INSERT INTO SampleINS
2 VALUES('SAMPLE'||CHR(ASCII('&'))||'DATA03');
1 row created.
SQL> SPOOL OFF

S-ar putea să vă placă și