joseenriquecorderora
0 views
53 slides
Oct 02, 2025
Slide 1 of 53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
About This Presentation
leccion para aprender sql
Size: 1.36 MB
Language: es
Added: Oct 02, 2025
Slides: 53 pages
Slide Content
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 1
Funciones de una Sola Fila
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 2
Objetivo
Después de completar esta lección, usted debería ser capaz
de hacer lo siguiente:
•Describir varios tipos de funciones disponibles en SQL
•Utilizar funciones de carácter, número y fecha en
declaraciones SELECT
•Describir el uso de las funciones de conversión
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 3
Funciones SQL
Función
Entrada
arg 1
arg 2
arg n
Funciónque
realizala acción
Salida
Valor del resultado
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 4
Dos Tipos de Funciones SQL
Funciones
Funciones de
una sola fila
Funciones de
múltiples filas
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 5
Funciones de una Sola Fila
FuncionesdeunaSolaFila:
•Manipularloselementosdedatos
•Aceptarargumentosydevolverunvalor
•Actuarencadafiladevuelta
•Regresarunresultadoporfila
•Puedemodificareltipodedatos
•Puedeserencajable
•Aceptarargumentosloscualespuedenserunacolumnao
unaexpresión
function_name[(arg1, arg2,...)]
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 6
Funciones de una Sola Fila
Conversión
Caracter
Número
Fecha
General
Funciones
de una Sola
Fila
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 7
Funciones de Caracteres
Funcionesde
Caracteres
LOWER
UPPER
INITCAP
CONCAT
SUBSTR
LENGTH
INSTR
LPAD | RPAD
TRIM
REPLACE
Funcionesde la Cajade
Manipulación
Funcionesde Manipulación
de Caracteres
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 8
Funciones de Manipulación de la Caja
•Estasfuncionesconviertencasodecadenasde
caracteres
Función Resultado
LOWER('SQL Course')
UPPER('SQL Course')
INITCAP('SQL Course')
sql course
SQL COURSE
Sql Course
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 9
Uso de las Funciones de Manipulación de la
Caja
•Muestraelnúmerodeempleado,nombreynúmerode
departamentodelosempleadosdeHiggins:
SELECT employee_id, last_name, department_id
FROM employees
WHERE last_name = 'higgins';
no rows selected
SELECT employee_id, last_name, department_id
FROM employees
WHERE LOWER(last_name) = 'higgins';
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 10
Funciones de Manipulación de Caracteres
•Estasfuncionesmanipulanlascadenasdecaracteres:
CONCAT('Hello', 'World')
SUBSTR('HelloWorld',1,5)
LENGTH('HelloWorld')
INSTR('HelloWorld', 'W')
LPAD(salary,10,'*')
RPAD(salary, 10, '*')
TRIM('H' FROM 'HelloWorld')
HelloWorld
Hello
10
6
*****24000
24000*****
elloWorld
Función Resultado
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 11
Uso de las Funciones de Manipulación de
Caracteres
SELECT employee_id, CONCAT(first_name, last_name) NAME,
job_id, LENGTH (last_name),
INSTR(last_name, 'a') "Contains 'a'?"
FROM employees
WHERE SUBSTR(job_id, 4) = 'REP';
1
2
31 2
3
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 12
Funciones de Números
ROUND:Redondeaelvalorespecificadoa
decimal
ROUND(45.926,2) 45.93
TRUNC:Truncaelvalorespecificadoadecimal
TRUNC(45.926,2) 45.92
MOD:Devuelveelresiduodeladivisión
MOD(1600,300) 100
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 13
Uso de la Función ROUND
SELECT ROUND(45.923,2), ROUND(45.923,0),
ROUND(45.923,-1)
FROM DUAL;
1 2
3
31 2
DUALesunatablaficticiaquepuedeutilizarparaverlos
resultadosdelasfuncionesycálculos
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 14
Uso de la Función TRUNC
SELECT TRUNC(45.923,2), TRUNC(45.923),
TRUNC(45.923,-2)
FROM DUAL;
31 2
1 2
3
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 15
Uso de la Función MOD
•Calculaladiferenciadelsueldodespuésdequees
divididopor5000paratodoslosempleadoscuyo
puestodetrabajoesrepresentantedeventas.
SELECT last_name, salary, MOD(salary, 5000)
FROM employees
WHERE job_id = 'SA_REP';
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 16
Trabajando con Fechas
•LabasededatosdeORACLEalmacenafechasenun
formatonuméricointerno:siglo,año,mes,día,horas,
minutos,segundos,
•ElformatodefechapordefectoesDD-MON-RR.
•Lepermitealmacenarfechasdelsiglo21enelsiglo20,
especificandosólolosdosúltimosdígitosdelaño.
•Lepermitealmacenarfechasdelsiglo20enelsiglo21
delamismamanera.
SELECT last_name, hire_date
FROM employees
WHERE last_name like 'G%';
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 17
Trabajando con Fechas
SYSDATEesunafunciónqueregresa:
•Fecha
•Tiempo
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 18
Aritmética con Fechas
•Sumarorestarunnúmeroapartirdeunafechapara
unvalordefecharesultante.
•Restardosfechasparaencontrarelnúmerodedías
entreesasfechas.
•Añadirhorasaunafechadividiendoelnúmerode
horaspor24.
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 19
Uso de Operadores Aritméticos con Fechas
SELECT last_name, (SYSDATE -hire_date)/7 AS WEEKS
FROM employees
WHERE department_id = 90;
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 20
Funciones de Fecha
Númerode mesesentre dos
fechas
MONTHS_BETWEEN
ADD_MONTHS
NEXT_DAY
LAST_DAY
ROUND
TRUNC
Añadiral calendariomeses
hastala fecha
Díasiguientede la fecha
especificada
Últimodíadel mes
Fecharedondeada
Fechatruncada
Función Descripción
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 21
Utilizando Funciones de Fecha
•MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')
•ADD_MONTHS ('11-JAN-94',6)
•NEXT_DAY ('01-SEP-95','FRIDAY')
•LAST_DAY('01-FEB-95')
19.6774194
'11-JUL-94'
'08-SEP-95'
'28-FEB-95'
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 22
Utilizando Funciones de Fecha
•ROUND(SYSDATE,'MONTH') 01 -AUG-95
•ROUND(SYSDATE ,'YEAR') 01 -JAN-96
•TRUNC(SYSDATE ,'MONTH') 01 -JUL-95
•TRUNC(SYSDATE ,'YEAR') 01 -JAN-95
AsumirqueSYSDATE = '25-JUL-95':
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 23
Práctica 3, Primera Parte: Información
General
Estaprácticaabarcalossiguientestemas:
•Escribirunaconsultaquemuestralafechaactual
•Creacióndeconsultasquerequierenelusonumérico,
caracteresyfuncionesdefecha
•Realizacióndecálculosdeañosymesesdeservicioparaun
empleado
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 24
Funciones de Conversión
Conversiónde Tipo
de DatosImplícita
Conversiónde Tipo
de DatosExplícita
Conversiónde Tipo
de Datos
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 25
Conversión de Tipos de Datos Implícita
Enlasasignaciones,elServidorOraclepuedeconvertir
automáticamentelosiguiente:
VARCHAR2 or CHAR
From To
VARCHAR2 or CHAR
NUMBER
DATE
NUMBER
DATE
VARCHAR2
VARCHAR2
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 26
Conversión de Tipos de Datos Implícita
Paralaevaluacióndeexpresiones,elServidorOracle
puedeconvertirautomáticamentelosiguiente:
VARCHAR2 or CHAR
From To
VARCHAR2 or CHAR
NUMBER
DATE
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 27
Conversión de Tipos de Datos Explícita
NUMBER CHARACTER
TO_CHAR
TO_NUMBER
DATE
TO_CHAR
TO_DATE
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 28
Usode la FunciónTO_CHARcon Fechas
Elmodelodeformato:
•Debeirentrecomillassimplesyessensiblea
mayúsculas
•Puedeincluircualquierelementodeformatodefecha
válido
•Tieneunelementofmparaeliminarespaciosenblanco
acolchadososuprimircerosalaizquierda
•Seseparadeelvalordefechaporunacoma
TO_CHAR(date, 'format_model')
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 29
Elementos del Formato Modelo Fecha
YYYY
YEAR
MM
MONTH
DY
DAY
Añocompletoen números
Añoexplicado
Valor de dos digitosparael mes
Tresletrasde la abreviaturadel
díade la semana
Nombrecompletodel día
Nombrecompletodel mes
MON
Tresletrasde la abreviaturadel
mes
DD Díanuméricodel mes
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 30
•Lasunidadesdelformatotiemposonenproporciónal
tiempodelafecha
Elementos del Formato Modelo Fecha
HH24:MI:SS AM 15:45:32 PM
•Añadircadenasdecaracteresencerrándolosentrecomillas
dobles
DD "of" MONTH 12 of OCTOBER
•Número sufijos deletrear números.
ddspth fourteenth
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 31
Usode la FunciónTO_CHARcon Fechas
SELECT last_name,
TO_CHAR(hire_date, 'fmDD Month YYYY')
AS HIREDATE
FROM employees;
…
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 32
Usode la FunciónTO_CHARcon Números
TO_CHAR(number, 'format_model')
•Estossonalgunosdeloselementosdeformatoquepuedeutilizar
conlafunciónTO_CHARparamostrarunvalornuméricocomoun
caracter:
9
0
$
L
.
,
Representaun número
Obligaa queun cero sea desplegado
Colocaun signode dólarflotante
Utilizael símbolode la monedalocal
Imprimeun puntodecimal
Imprimeun indicadorde mil
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 33
Usode la FunciónTO_CHARcon Números
SELECT TO_CHAR(salary, '$99,999.00') SALARY
FROM employees
WHERE last_name = 'Ernst';
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 35
Formatode FechaRR
Current Year
1995
1995
2001
2001
Specified Date
27-OCT-95
27-OCT-17
27-OCT-17
27-OCT-95
RR Format
1995
2017
2017
1995
YY Format
1995
1917
2017
2095
0–49
0–49 50–99
50–99
La fecha de regreso
es en el siglo actual.
Lafecha de regreso
es en el siglo
posterior al actual.
The return date is in
the century before
the current one
The return date is in
the current century
If the specified two-digit year is:
Si dos
dígitos del
año en
curso son:
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 36
Ejemplode Formatode FechaRR
SELECT last_name, TO_CHAR(hire_date, 'DD -Mon-YYYY')
FROM employees
WHERE hire_date < TO_DATE('01 -Jan-90', 'DD-Mon-RR');
•Paraencontraralosempleadoscontratadosantesde
1990,utiliceelformatoRR,queproducelosmismos
resultadossielcomandoseejecutaen1999oahora:
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 37
Anidamientode Funciones
•Funcionesdeunasolafilasepuedenanidara
cualquiernivel.
•Funcionesanidadasseevalúandesdeelnivelmás
profundohastaelnivelmenosprofundo.
F3(F2(F1(col,arg1),arg2),arg3)
Step 1 = Result 1
Step 2 = Result 2
Step 3 = Result 3
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 38
Anidamientode Funciones
SELECT last_name,
NVL(TO_CHAR(manager_id), 'No Manager')
FROM employees
WHERE manager_id IS NULL;
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 39
FuncionesGenerales
Estas funciones trabajan con cualquier tipo de datos y se
relacionan con el uso de valores nulos.
•NVL (expr1, expr2)
•NVL2 (expr1, expr2, expr3)
•NULLIF (expr1, expr2)
•COALESCE (expr1, expr2, ..., exprn)
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 40
FunciónNVL
Convierte un valor nulo a un valor real.
•Los tipos de datos que se pueden utilizar son la fecha,
carácter, y el número.
•Los tipos de datos deben coincidir:
NVL(commission_pct,0)
NVL(hire_date,'01-JAN-97')
NVL(job_id,'NoJob Yet')
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 41
Usode la FunciónNVL
SELECT last_name, salary, NVL(commission_pct, 0),
(salary*12) + (salary*12*NVL(commission_pct, 0)) AN_SAL
FROM employees;
…
1
1
2
2
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 42
Usode la FunciónNVL2
SELECT last_name, salary, commission_pct,
NVL2(commission_pct,
'SAL+COMM', 'SAL') income
FROM employees WHERE department_idIN (50, 80);
1
1
2
2
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 43
Usode la FunciónNULLIF
SELECT first_name, LENGTH(first_name) "expr1",
last_name, LENGTH(last_name) "expr2",
NULLIF(LENGTH(first_name), LENGTH(last_name)) result
FROM employees;
…
1
2
3
1 2 3
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 44
Usode la FunciónCOALESCE
•LaventajadelafunciónCOALESCEsobrelafunciónNVL
esquelafunciónCOALESCEpuedetomarmúltiples
valoresalternativos
•Silaprimeraexpresiónesnula,devuelveesaexpresión,
delocontrariohaceunCOALESCEdelasexpresiones
restantes
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 45
Usode la FunciónCOALESCE
SELECT last_name,
COALESCE(commission_pct, salary, 10) comm
FROM employees
ORDER BY commission_pct;
…
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 46
ExpresionesCondicionales
•ProporcionaelusodelalógicaIF-THEN-ELSEdentrode
unadeclaraciónSQL
•Usodedosmétodos:
–ExpresiónCASE
–FunciónDECODE
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 47
La ExpresiónCASE
•Facilitalasconsultascondicionaleshaciendoeltrabajode
unainstrucciónIF-THEN-ELSE
CASE exprWHEN comparison_expr1 THEN return_expr1
[WHENcomparison_expr2 THENreturn_expr2
WHENcomparison_exprn THENreturn_exprn
ELSE else_expr]
END
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 48
Usode la ExpresiónCASE
•Facilitalasconsultascondicionaleshaciendoeltrabajode
unainstrucciónIF-THEN-ELSE
SELECT last_name, job_id, salary,
CASE job_id WHEN 'IT_PROG' THEN 1.10*salary
WHEN 'ST_CLERK' THEN 1.15*salary
WHEN 'SA_REP' THEN 1.20*salary
ELSE salary END "REVISED_SALARY"
FROM employees;
…
…
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 49
La FunciónDECODE
•Facilitalasconsultascondicionaleshaciendoeltrabajode
CASEodeunainstrucciónIF-THEN-ELSE
DECODE(col|expression, search1, result1
[, search2, result2,..., ]
[, default])
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 50
Usode la FunciónDECODE
SELECT last_name, job_id, salary,
DECODE(job_id, 'IT_PROG', 1.10*salary,
'ST_CLERK', 1.15*salary,
'SA_REP', 1.20*salary,
salary)
REVISED_SALARY
FROM employees;
…
…
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 51
Usandola FunciónDECODE
•Muestralatasadeimpuestoaplicableacadaempleado
eneldepartamento80
SELECT last_name, salary,
DECODE (TRUNC(salary/2000, 0),
0, 0.00,
1, 0.09,
2, 0.20,
3, 0.30,
4, 0.40,
5, 0.42,
6, 0.44,
0.45) TAX_RATE
FROM employees
WHERE department_id = 80;
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 52
Resumen
Enestalección,debehaberaprendidoa:
•Realizarcálculosendatosusandofunciones
•Modificardatosindividualesutilizandolasfunciones
•Manipularlasalidaparalosgruposdefilasutilizando
funciones
•Modificarformatosdefechaparalavisualizaciónusando
funciones
•Convertirtiposdedatosdecolumnautilizandofunciones
•UtilizarfuncionesNVL
•UsodelalógicaIF-THEN-ELSE
04/08/2025 GSFELCO Grupo Tecnológico 2024. DR 53
Práctica 3, Segunda Parte: Información
General
Estaprácticaabarcalossiguientestemas:
•Creacióndeconsultasquerequierenelusonumérico,
caracteresyfuncionesdefecha
•Usodeconcatenaciónconfunciones
•Escribiendoconsultasentremayúsculasyminúsculaspara
ponerapruebalautilidaddelasfuncionesdecarácter
•Realizacióndecálculosdeañosymesesdeservicioparaun
empleado
•Ladeterminacióndelafechaderevisiónparaunempleado