Documente Academic
Documente Profesional
Documente Cultură
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>
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
/
SELECT
'Sample_Text' OrgString,
SUBSTR('Sample_Text', 1, 6) Sample,
SUBSTR('Sample_Text', 8) Text
FROM DUAL
/
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
/
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
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
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