Вы находитесь на странице: 1из 10

OPERADORES,FUNCIONES Y OTRAS CLÁUSULAS:

Esta guía contiene un listado de tablas de operadores y funciones utilizadas


para el manejo de datos y consultas.

Operadores de Comparación

Operador Operación Ejemplo


select * from emp
= Igualdad where cod_dep = 100;
select * from emp
!=, <>, ^= Desigualdad
where cod_dep != 100;
select * from emp
< Menor que
where cod_dep < 200;
select * from emp
> Mayor que
where cod_dep > 200;
select * from emp
<= Menor o igual que where cod_dep <= 200;
select * from emp
>= Mayor o igual que where cod_dep >= 200;
select * from emp
Igual a cualquiera de los miembros
in where cod_dep in (100,
entre paréntesis 300);
select * from emp
Distinto a cualquiera de los
not in where cod_dep not in
miembros entre paréntesis (200);
select * from emp
between Contenido en el rango where cod_emp
between 100 and 199;
select * from emp
not
Fuera del rango where cod_emp not
between between 100 and 199;

Contiene la cadena 'abc' a partir select * from emp


like
del segundo carácter y luego where nombre like
'_abc%' 'Ma%';
cualquier cadena de caracteres

Operadores de Aritméticos

Operador Operación Ejemplo


select nombre, salario+comision from emp where
+ Suma oficio='VENDEDOR';
select nombre from emp where sysdate -fecha_alta >
- Resta
365;

* Producto select nombre, salario*12 from emp;

/ División select nombre, salario/31 from emp;

Operadores de Cadenas de Caracteres

Operador Operación Ejemplo


|| Concatenación Select nombre from empleado||’ Pérez';

Funciones:

Las funciones pueden ser anidadas unas dentro de otras algunas de ellas
son:

Funciones Aritméticas

Función Cometido Ejemplo Resultado


Calcula el valor absoluto de select abs( -15)
ABS(n) 15
n. from dual;

Calcula el valor entero


select ceil(15.7)
CEIL(n) inmediatamente superior o from dual; 16
igual a n.
Calcula el valor entero
select floor(15.7)
FLOOR(n) inmediatamante inferior o 15
from dual;
igual a n.
Calcula el resto resultante select mod(11,4)
MOD(m,n) 3
de dividir m entre n. from dual;

Calcula la potencia n-esima select power(3,2)


POWER(m,n) 9
de m. from dual;

Calcula el redondeo de m a
n decimales. Si n<0 el select
ROUND(m,n) redondeo se efectua a por round(123.456,1) 123.5
la izquierda del punto from dual;

decimal.
Calcula la raíz cuadrada de select sqrt(4)
SQRT(n) 2
n. from dual;

Calcula m truncado a n select


TRUNC(m,n) decimales (n puede ser trunc(123.456,1) 123.4
negativo). from dual;

Calcula el signo de n,
select sign(-12)
SIGN(n) devolviendo -1 si n<0, 0 si -1
from dual;
n=0 y 1 si n>0.

Funciones de Cadenas de Caracteres

Función Cometido Ejemplo Resultado


Devuelve el
carácter
select chr(65) from
CHR(n) cuyo valor dual; A
codificado
es n.
Devuelve el
select ascii('A') from
ASCII(cad) valor ascii dual; 65
de cad.
Devuelve
cad1
concatenada
con cad2. select Cano es
CONCAT(cad1,cad2) Esta concat(concat(nombre,' Presidente,
función es es '),oficio) from emp; etc.
esquivalente
al operador
||.
Devuelve la
cadena cad
con todas select
LOWER(cad) sus letras lower('MinUsCulAs') minusculas
convertidas from dual;
a
minúsculas.
Devuelve la select
UPPER(cad) cadena cad upper('maYuSCulAs') MAYUSCULAS
con todas from dual;
sus letras
convertidas
a
mayúsculas.
Devuelve
cad con el
select initcap('isabel')
INITCAP(cad) primer Isabel
from dual;
caracter en
mayúsculas.
Devuelve
cad1 con
longitud n, y
ajustada a
select lpad('P',5,'*')
LPAD(cad1,n,cad2) la derecha, ****P
from dual;
rellenando
por la
izquierda
con cad2.
Devuelve
cad1 con
longitud n, y
ajustada a
select rpad('P',5,'*')
RPAD(cad1,n,cad2) la izquierda, from dual; P****
rellenando
por la
derecha con
cad2.
Devuelve
cad en la
que cada
ocurrencia select
REPLACE(cad,ant,nue) de la cadena replace('digo','i','ie') diego
ant ha sido from dual;
sustituida
por la
cadena nue.
Devuelve la
select
sudcadena
SUBSTR(cad,m,n) substr('ABCDEFG',3,2) CD
de cad from dual;
compuesta
por n
caracteres
a partir de
la posicion
m.
Devuelve la
select length('cadena')
LENGTH(cad) longitud de 6
from dual;
cad.

Funciones de Manejo de Fechas

Función Cometido Ejemplo Resultado


Devuelve la
SYSDATE fecha y hora select sysdate from dual; 14-MAR-97
actuales.
Devuelve la
fecha d select
ADD_MONTHS(d,n) incrementad add_months(sysdate,4) 14-JUL-97
a en n from dual;

meses.
Devuelve la
fecha del
select last_day(sysdate)
LAST_DAY(d) último día 31-MAR-97
from dual;
del mes de
d.
Devuelve la
diferencia
select
MONTHS_BETWEEN(d en meses 2.4340942
months_between(sysdate,'0
1, d2) entre las 1-JAN-97') from dual;
4
fechas d1 y
d2.
Devuelve la
fecha del
primer día
select next_day(sysdate,
NEXT_DAY(d,cad) de la semana 'sunday') from dual; 16-MAR-97
cad después
de la fecha
d.
Funciones de Conversión de Tipos

Función Cometido Ejemplo Resultado


Convierte la
cadena cad a
un número, select
TO_NUMBER(cad,fmto) opcionalmente to_number('12345') 124345
de acuerdo from dual;

con el formato
fmto.
Convierte la
fecha d a una
cadena de
select
caracteres, '14-MAR-
TO_CHAR(d, fmto) to_char(sysdate)
opcionalmente from dual; 97'
de acuerdo
con el formato
fmto.
Convierte la
cadena cad de
tipo varchar2
select to_date('1-
a fecha, 01-JAN-
TO_DATE(cad,fmto) JAN-97') from
opcionalmente dual; 97
de acuerdo
con el formato
fmto.

Máscaras de Formato Numéricas

Permiten modificar el formato de una fecha

Formato Cometido Ejemplo Resultado


select to_char(sysdate,'cc')
cc ó scc Valor del siglo. 20
from dual;

y,yyy ó Año con coma, con o select


to_char(sysdate,'y,yyy') 1,997
sy,yyy sin signo. from dual;

yyyy ó yyy Año sin signo con select


1997
ó yy ó y cuatro, tres, dos o to_char(sysdate,'yyyy')
un dígitos. from dual;

select to_char(sysdate,'q')
q Trimestre. 1
from dual;

Número de la select
ww ó w semana del año o del to_char(sysdate,'ww') from 11
mes. dual;

select
mm Número del mes. to_char(sysdate,'mm') from 03
dual;

Número del día del select


ddd ó dd ó
año, del mes o de la to_char(sysdate,'ddd') from 073
d dual;
semana.
hh ó hh12 La hora en formato select to_char(sysdate,'hh')
12
ó hh24 12h. o 24h. from dual;

Los minutos de la select to_char(sysdate,'mi')


mi 15
hora. from dual;

Los segundos dentro select


ss ó sssss del minuto, o desde to_char(sysdate,'sssss') 44159
las 0 horas. from dual;

Máscaras de Formato de Caracteres

Formato Cometido Ejemplo Resultado


select nineteen
syear ó
Año en Inglés to_char(sysdate,'syear) ninety-
year from dual; seven
Nombre del mes o select
month o
su abreviatura de to_char(sysdate,'month') march
mon from dual;
tres letras.
Nombre del día de
select
la semana o su
day ó dy to_char(sysdate,'day') from friday
abreviatura de tres dual;
letras.
select
a.m. ó
El espacio del día. to_char(sysdate,'a.m.') from p.m.
p.m. dual;

Indicador del año select


b.c. ó
respecto al del to_char(sysdate,'b.c.') from a.d.
a.d. dual;
nacimiento de
Cristo.

Otras Funciones

Función Cometido Ejemplo Resultado


Convierte el select decode(oficio,
DECODE(var, val1,
valor de var, 'Presidente', 'P',
cod1, val2, cod2, ..., P, D, X, ...
de acuerdo con 'Director', 'D', 'X')
defecto) from emp;
la codificación.
Devuelve el
GREATEST(exp1, sin
mayor valor de sin ejemplo.
exp2, ...) ejemplo.
una lista.
Devuelve el
sin
LEAST(cad,fmto) menor valor de sin ejemplo.
ejemplo.
una lista.
Devuelve la
expresión exp select 450000,
NVL(val, exp) si val es NULL, salario+nvl(comision,0) 350000,
y val si en otro from emp; ...
caso.

En las consultas es conveniente considerar las cláusulas ORDER BY, y


DISTINCT

Cláusula ORDER BY:


Realiza un ordenamiento en la consulta, por defecto éste es ascendente,
pero se puede indicar que sea descendente escribiendo “order by desc”

Ejemplo:
SQL> select nombre, salario from emp order by salario desc,
nombre;

NOMBRE SALARIO
---------- ----------
Castillo 300000
Perez 300000
Romero 350000
Yépez 500000
García 500000
Sosa 660000

6 rows selected.

Cláusula DISTINCT

Permite eliminar las filas duplicadas en la columna para obtener un


resultado sin repeticiones.

Ejm:

SQL> select oficio from emp;

Sin utilizar la cláusula DISTINCT obtendremos la siguiente respuesta

OFICIO
-----------
Presidente
Director
Secretario
Contable
Comercial
Comercial
Director
Analista
Programador
Programador
Director
Analista
Programador
Programador

14 rows selected.
Pero si incluimos la cláusula DISTINCT la respuesta varía para adecuarse más
a nuestras espectativas.

SQL> select distinct oficio from emp;

OFICIO
-----------
Analista
Comercial
Contable
Director
Presidente
Programador
Secretario

7 rows selected.

Este material fue tomado de la página:

http://www.infor.uva.es/~jvegas/cursos/bd/sqlplus/sqlplus.html#tiposSentencias

Вам также может понравиться