-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathClase 6 PL-SQL.sql
More file actions
70 lines (39 loc) · 1.82 KB
/
Clase 6 PL-SQL.sql
File metadata and controls
70 lines (39 loc) · 1.82 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
-- CONVERSION DE DATOS
-- LA CONVERSIÓN DE DATOS SE REFIERE AL PROCESO DE CAMBIAR UN VALOR DE UN TIPO DE DATO A OTRO.
-- IMPLICITA
-- LA CONVERSIÓN IMPLÍCITA OCURRE AUTOMÁTICAMENTE CUANDO PL/SQL PUEDE CONVERTIR UN TIPO DE DATO A OTRO SIN QUE SEA NECESARIO ESPECIFICARLO EXPLÍCITAMENTE.
-- ESTO SUELE SUCEDER CUANDO SE ASIGNAN VALORES ENTRE VARIABLES DE TIPOS COMPATIBLES.
DECLARE
V_NUMERO NUMBER := 1234;
V_TEXTO VARCHAR2(50);
BEGIN
V_TEXTO := V_NUMERO; -- CONVIERTE EL NUMBER EN VARCHAR2.
DBMS_OUTPUT.PUT_LINE('EL NÚMERO CONVERTIDO A TEXTO ES: ' || V_TEXTO);
END;
-- CONVERSION EXPLICITA
-- LA CONVERSIÓN EXPLÍCITA SE REFIERE AL PROCESO EN EL QUE EL PROGRAMADOR ESPECIFICA EXPLÍCITAMENTE CÓMO CONVERTIR UN VALOR DE UN TIPO DE DATO A OTRO.
-- SE UTILIZAN FUNCIONES PARA REALIZAR LA CONVERSIÓN.
-- ESTO SE UTILIZA CUANDO LOS TIPOS DE DATOS NO SON DIRECTAMENTE COMPATIBLES O CUANDO SE NECESITA UN CONTROL MÁS PRECISO SOBRE LA CONVERSIÓN.
-- LISTA DE FUNCIONES:
-- TO_NUMBER: CONVIERTE UN VALOR A TIPO NUMBER.
-- TO_CHAR: CONVIERTE UN VALOR A TIPO VARCHAR2.
-- TO_DATE: CONVIERTE UN VALOR A TIPO DATE.
-- TO_TIMESTAMP: CONVIERTE UN VALOR A TIPO TIMESTAMP.
-- TO_CLOB: CONVIERTE UN VALOR A TIPO CLOB (CHARACTER LARGE OBJECT).
-- TO_BLOB: CONVIERTE UN VALOR A TIPO BLOB (BINARY LARGE OBJECT).
-- EJEMPLO TO_NUMBER
DECLARE
V_TEXTO VARCHAR2(50) := '1234';
V_NUMERO NUMBER;
BEGIN
V_NUMERO := TO_NUMBER(V_TEXTO); -- PASA DE VARCHAR2 A NUMBER.
DBMS_OUTPUT.PUT_LINE('EL NÚMERO ES: ' || V_NUMERO);
END;
-- EJEMPLO TO_DATE
DECLARE
V_DATE_CHAR VARCHAR2(100) := '02 02 2024';
V_DATE DATE;
BEGIN
V_DATE := TO_DATE(V_DATE_CHAR,'DD MM YYYY'); -- PASA DE VARCHAR2 A DATE
DBMS_OUTPUT.PUT_LINE('FECHA:' || V_DATE);
END;