.
Loops are resolved by Alias Table.
-
SQL> select abs(2343) from dual;
ABS(2343)
----------
2343
SQL> ed
Wrote file afiedt.buf
1* select abs(-2343) from dual
SQL> /
ABS(-2343)
----------
2343
SQL> ed
Wrote file afiedt.buf
1* select sign(324) from dual
SQL> /
SIGN(324)
----------
1
SQL> ed
Wrote file afiedt.buf
1* select sign(-324) from dual
SQL> /
SIGN(-324)
----------
-1
SQL> ed
Wrote file afiedt.buf
1* select sign(-0) from dual
SQL> /
SIGN(-0)
----------
0
SQL> ed
Wrote file afiedt.buf
1* select sqrt(4) from dual
SQL> /
SQRT(4)
----------
2
SQL> ed
Wrote file afiedt.buf
1* select mod(4,2) from dual
SQL> /
MOD(4,2)
----------
0
SQL> ed
Wrote file afiedt.buf
1* select power(4,2) from dual
SQL> /
POWER(4,2)
----------
16
STRING
SQL> select upper('rajesh') from dual;
UPPER(
------
RAJESH
SQL> ed
Wrote file afiedt.buf
1* select lower('rajesh') from dual
SQL> /
LOWER(
------
rajesh
SQL> ed
Wrote file afiedt.buf
1* select initcap('rajesh') from dual
SQL> /
INITCA
------
Rajesh
SQL> ed
Wrote file afiedt.buf
1* select length('rajesh') from dual
SQL> /
LENGTH('RAJESH')
----------------
6
SQL> ed
Wrote file afiedt.buf
1* select reverse('rajesh') from dual
SQL> /
REVERS
------
hsejar
SQL> ed
Wrote file afiedt.buf
1* select concat('rajesh','polasu') from dual
SQL> /
CONCAT('RAJE
------------
rajeshpolasu
SQL> ed
Wrote file afiedt.buf
1 select 'rajesh'||'
2* skker' from dual
SQL> /
'RAJESH'||'S
------------
rajesh
skker
SQL> ed
Wrote file afiedt.buf
1* select 'rajesh'||'skker' from dual
SQL> /
'RAJESH'||'
-----------
rajeshskker
SQL> ed
Wrote file afiedt.buf
1* select replace('rajareddy','a','$') from dual
SQL> /
REPLACE('
---------
r$j$reddy
SQL> ed
Wrote file afiedt.buf
1* select replace('rajareddy','a','$$') from dual
SQL> /
REPLACE('RA
-----------
r$$j$$reddy
SQL> ed
Wrote file afiedt.buf
1* select replace('rajareddy','aj','$$') from dual
SQL> /
REPLACE('
---------
r$$areddy
SQL> ed
Wrote file afiedt.buf
1* select translate('rajareddy','aj','$$') from dual
SQL> /
TRANSLATE
---------
r$$$reddy
SQL> ed
Wrote file afiedt.buf
1* select translate('rajareddy','aj','a') from dual
SQL> /
TRANSLAT
--------
raareddy
SQL> ed
Wrote file afiedt.buf
1* select translate('rajareddy','aj','ar') from dual
SQL> /
TRANSLATE
---------
rarareddy
SQL> ed
Wrote file afiedt.buf
1* select replace('rajareddy','aj','ar') from dual
SQL> /
REPLACE('
---------
rarareddy
SQL> ed
Wrote file afiedt.buf
1* select substr('rajareddy',5) from dual
SQL> /
SUBST
-----
reddy
SQL> ed
Wrote file afiedt.buf
1* select substr('rajareddy',5,2) from dual
SQL> /
SU
--
re
SQL> ed
Wrote file afiedt.buf
1* select instr('rajareddy','a',1,1) from dual
SQL> /
INSTR('RAJAREDDY','A',1,1)
--------------------------
2
SQL> ed
Wrote file afiedt.buf
1* select instr('rajareddy','a',1,2) from dual
SQL> /
INSTR('RAJAREDDY','A',1,2)
--------------------------
4
SQL> ed
Wrote file afiedt.buf
1* select instr('rajareddy','a',3,2) from dual
SQL> /
INSTR('RAJAREDDY','A',3,2)
--------------------------
0
SQL> ed
Wrote file afiedt.buf
1* select instr('rajareddy','a',3,1) from dual
SQL> /
INSTR('RAJAREDDY','A',3,1)
--------------------------
4
SQL> ed
Wrote file afiedt.buf
1* select lpad('sai',10,'$') from dual
SQL> /
LPAD('SAI'
----------
$$$$$$$sai
SQL> ed
Wrote file afiedt.buf
1* select rpad('sai',10,'$') from dual
SQL> /
RPAD('SAI'
----------
sai$$$$$$$
SQL> select length(' rajesh') from dual;
LENGTH('RAJESH')
----------------
7
SQL> ed
Wrote file afiedt.buf
1* select length(trim(' rajesh')) from dual
SQL> /
LENGTH(TRIM('RAJESH'))
----------------------
6
SQL> ed
Wrote file afiedt.buf
1* select length(ltrim(' rajesh')) from dual
SQL> /
LENGTH(LTRIM('RAJESH'))
-----------------------
6
SQL> ed
Wrote file afiedt.buf
1* select length(rtrim(' rajesh')) from dual
SQL> /
LENGTH(RTRIM('RAJESH'))
-----------------------
7
SQL>
GROUP FUNCTIONS
SQL> select sum(sal) from emp;
SUM(SAL)
----------
29025
SQL> ed
Wrote file afiedt.buf
1* select min(sal) from emp
SQL> /
MIN(SAL)
----------
800
SQL> ed
Wrote file afiedt.buf
1* select max(sal) from emp
SQL> /
MAX(SAL)
----------
5000
SQL> ed
Wrote file afiedt.buf
1* select count(sal) from emp
SQL> /
COUNT(SAL)
----------
14
SQL> ed
Wrote file afiedt.buf
1* select avg(sal) from emp
SQL> /
AVG(SAL)
----------
2073.21429
SQL> ed
Wrote file afiedt.buf
1* select count(*) from emp
SQL> /
COUNT(*)
----------
14
SQL> ed
Wrote file afiedt.buf
1* select count(empno) from emp
SQL> /
COUNT(EMPNO)
------------
14
SQL> ed
Wrote file afiedt.buf
1* select count(comm) from emp
SQL> /
COUNT(COMM)
-----------
4
SQL>
SQL> ed
Wrote file afiedt.buf
1* select sum(comm) from emp
SQL> /
SUM(COMM)
----------
2200
SQL>
DATE
SQL> SELECT SYSDATE FROM EMP;
SYSDATE
---------
12-JAN-07
12-JAN-07
12-JAN-07
12-JAN-07
12-JAN-07
12-JAN-07
12-JAN-07
12-JAN-07
12-JAN-07
12-JAN-07
12-JAN-07
12-JAN-07
12-JAN-07
12-JAN-07
14 rows selected.
SQL> SELECT SYSDATE FROM DUAL;
SYSDATE
---------
12-JAN-07
SQL> ED
Wrote file afiedt.buf
1* SELECT SYSDATE + 1 FROM DUAL
SQL> /
SYSDATE+1
---------
13-JAN-07
SQL> ED
Wrote file afiedt.buf
1* SELECT SYSDATE + 1 FROM DUAL
SQL> SELEECT ADD_MONTHS(SYSDATE,10) FROM DUAL;
SP2-0734: unknown command beginning "SELEECT AD..." - rest of line ignor
SQL> ED
Wrote file afiedt.buf
1* SELECT SYSDATE + 1 FROM DUAL
SQL> SELECT ADD_MONTHS(SYSDATE,10) FROM DUAL;
ADD_MONTH
---------
12-NOV-07
SQL> ED
Wrote file afiedt.buf
1* SELECT ADD_MONTHS(SYSDATE,-10) FROM DUAL
SQL> /
ADD_MONTH
---------
12-MAR-06
SQL> SELECT MONTHS_BETWEEN(SYSDATE,HIREDATE) FROM EMP;
MONTHS_BETWEEN(SYSDATE,HIREDATE)
--------------------------------
312.855646
310.758871
310.694355
309.339517
303.500807
308.371775
307.11371
236.791129
301.855646
304.145968
235.662097
301.307258
301.307258
299.662097
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1* SELECT LAST_DAY(SYSDATE) FROM EMP
SQL> /
LAST_DAY(
---------
31-JAN-07
31-JAN-07
31-JAN-07
31-JAN-07
31-JAN-07
31-JAN-07
31-JAN-07
31-JAN-07
31-JAN-07
31-JAN-07
31-JAN-07
31-JAN-07
31-JAN-07
31-JAN-07
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1* SELECT LAST_DAY(HIREDATE) FROM EMP
SQL> /
LAST_DAY(
---------
31-DEC-80
28-FEB-81
28-FEB-81
30-APR-81
30-SEP-81
31-MAY-81
30-JUN-81
30-APR-87
30-NOV-81
30-SEP-81
31-MAY-87
31-DEC-81
31-DEC-81
31-JAN-82
14 rows selected.
1* SELECT NEXT_DAY(HIREDATE,'MONDAY') FROM EMP
SQL> /
NEXT_DAY(
---------
22-DEC-80
23-FEB-81
23-FEB-81
06-APR-81
05-OCT-81
04-MAY-81
15-JUN-81
20-APR-87
23-NOV-81
14-SEP-81
25-MAY-87
07-DEC-81
07-DEC-81
25-JAN-82
14 rows selected.