Está en la página 1de 641

ORACLE 10g

Componentes de una Base da Datos

Relacional

Una base de datos relacional es una colección de relaciones o tablas bidimensionales. Una base de datos relacional usa estas tablas bidimensionales para guardar la información.

o tablas bidimensionales. Una base de datos relacional usa estas tablas bidimensionales para guardar la información.

El modelo de la base de datos Relacional consiste en tres componentes: una colección de objetos o relaciones, un juego de operadores, y reglas de integridad. Las tablas son objetos

en el modelo de la base de datos relacional.

un juego de operadores, y reglas de integridad. Las tablas son objetos en el modelo de

Un lenguaje de programación es usado para actuar en la información de una base de datos relacional. El Lenguaje de Consulta Estructurado (SQL - Structured Query Language ) es el Lenguaje normado por el American National Standards Institute (ANSI) para operar sobre las bases de datos relacionales. Las consultas SQL se envían a la base de datos para su ejecución y sus resultados son recuperados.

datos relacionales. Las consultas SQL se envían a la base de datos para su ejecución y

El Modelo Relacional necesita de reglas de integridad de información. Las reglas de integridad son leyes que gobiernan los funcionamientos permitidos en los datos de una base de datos. Las reglas de integridad aseguran que esos datos sean consistentes y exactos.

en los datos de una base de datos. Las reglas de integridad aseguran que esos datos

Un Sistema de Administración de Base de datos Relacional (RDBMS -

Relational Database Management System ) maneja una colección de tablas. Las tablas son objetos de la base de datos que guardan los datos en un formato de filas y columnas. Usted puede guardar, manejar, y recuperar

los datos usando un RDBMS

guardan los datos en un formato de filas y columnas. Usted puede guardar, manejar, y recuperar

Usted puede ejecutar consultas SQL para recuperar la información de la base de datos. Las consultas SQL se envían al servidor para su ejecución. Usted recibe los resultados una vez que la consulta haya sido procesada satisfactoriamente.

servidor para su ejecución. Usted recibe los resultados una vez que la consulta haya sido procesada

Los usuarios pueden recuperar la información en cualquier orden usando consultas SQL. Esto significa que los usuarios no tienen que estar familiarizados con el almacenamiento físico de datos en la base de datos. Por ejemplo, los gerentes pueden recuperar los datos del empleado en un orden alfabético y los

contadores pueden recuperar los mismos datos en el orden de sueldo.

los datos del empleado en un orden alfabético y los contadores pueden recuperar los mismos datos

ORACLE 10g

Temas a tratar

Consultas Select

Tipos de Consultas SQL

Capacidad de la Consulta SELECT

Escribiendo Consultas SELECT

Seleccionando Filas y Columnas

Expresiones Aritméticas

Personalizando Queries

Alias de Columnas

Operador de Concatenación

Cadenas de caracteres literales

Eliminando Filas Duplicadas

Utilizando el PL/SQL Developer

Usos

Command Window vs SQL Window

Loggin On

Funciones de ventanas

Comando Describe

Tipos de Sentencias SQL

Usted puede usar sentencias SQL para almacenar, recuperar y administrar datos en la Base de Datos. En este tema, aprenderá a comparar las sentencias SQL con sus

descripciones.

y administrar datos en la Base de Datos. En este tema, aprenderá a comparar las sentencias

Las Sentencias SQL están catalogadas en 5 tipos: Recuperación de datos, Lenguaje de Manipulación de Datos (DML Data Manipulation Language), Lenguaje de Definición de Datos (DDL Data Definition Language), Control de transacción, y Lenguaje de Control de Datos (DCL Data Control Language). Las sentencias de recuperación de datos recupera información de la Base de Datos. La Sentencia SQL SELECT es usada para recuperar informacion de las Base de Datos.

información de la Base de Datos. La Sentencia SQL SELECT es usada para recuperar informacion de

Las Sentencias DML hacen cambios a los Datos en una Base de Datos. Puede usar INSERT para ingresar nuevos registros, UPDATE para cambiar los registros existentes, y DELETE para eliminar definitivamente registros en una tabla. Puede usar la sentencia SQL MERGE para actualizar o insertar registros en una tabla

basado en una condición.

una tabla. Puede usar la sentencia SQL MERGE para actualizar o insertar registros en una tabla

Las Sentencias DDL modifican las estructura de una Base de Datos. CREATE crea una nueva tabla en la Base de Datos. RENAME cambia el nombre de una Tabla. ALTER modifica las estructuras de las tablas. DROP elimina completamente una tabla de una Base de Datos. TRUNCATE elimina todos los registros de una tabla, y

libera el espacio almacenado usado por la tabla.

una Base de Datos. TRUNCATE elimina todos los registros de una tabla, y libera el espacio

Las Sentencias de Control transaccional son usadas para manejar los cambios realizados por las sentencias DML. COMMIT graba todos los las cambios y ROLLBACK revierte todos los cambios de una transacción DML. SAVEPOINT crea un marcador dentro de una transacción. Puede revertir los cambios hacia atrás hasta

el anterior marcador SAVEPOINT

crea un marcador dentro de una transacción. Puede revertir los cambios hacia atrás hasta el anterior

Las Sentencias DCL controlan el acceso del usuario a la Base de Datos. GRANT y REVOKE son sentencias DCL que conceden o remueven los derechos de acceso a una Base de Datos Oracle o a las estructuras en la Base de Datos.

DCL que conceden o remueven los derechos de acceso a una Base de Datos Oracle o

Este tema cubrió los 5 tipos de sentencias SQL y proporcionó una visión de los tipos de manipulación de datos que se pueden brindar con SQL. Estas sentencias SQL son usadas para añadir, modificar y eliminar la data almacenada en la Base de Datos. También puede usar las sentencias SQL para crear y administrar tanto

objetos como tablas en la Base de Datos.

de Datos. También puede usar las sentencias SQL para crear y administrar tanto objetos como tablas

Capacidad de las Sentencias SELECT

La Sentencia SELECT es usada para recuperar parte o toda los registros de una tabla. En este tema, aprenderá acerca de las capacidades de la Sentencia SQL SELECT.

parte o toda los registros de una tabla. En este tema, aprenderá acerca de las capacidades

Puede usar la sentencia SQL SELECT para extraer datos de una Base de Datos. Puede usar una sentencia SELECT para ver todos o parte de la data en una tabla.

para extraer datos de una Base de Datos. Puede usar una sentencia SELECT para ver todos

Una consulta SELECT recupera información de una Base de Datos. Las Sentencias SELECT tienen 3 capacidades: Selección, proyección y juntura.

recupera información de una Base de Datos. Las Sentencias SELECT tienen 3 capacidades: Selección, proyección y

Puede usar las capacidad de selección de SQL para elegir que registros desea recuperar de una tabla. Puede especificar varios criterios mientras que selecciona que registros desea ver.

desea recuperar de una tabla. Puede especificar varios criterios mientras que selecciona que registros desea ver.

Puede usar la capacidad de Proyección de SQL para elegir las columnas en una tabla que desea recuperar. Puede recuperar columnas seleccionadas o todas las columnas de una tabla.

las columnas en una tabla que desea recuperar. Puede recuperar columnas seleccionadas o todas las columnas

Puede juntar data que esta almacenada en diferentes tablas creando un enlace entre los datos de las tablas. Juntar las tablas habilita que sea los datos relacionados de dos o mas tablas a la misma vez.

los datos de las tablas. Juntar las tablas habilita que sea los datos relacionados de dos

Escribiendo Setencias SELECT

Escribir una consulta básica requiere 2 cláusulas obligatorias en la sintaxis de la Sentencia SELECT. Una cláusula SELECT y otra cláusula FROM. En este tema aprenderá a identificar los pasos para construir una Sentencia SQL SELECT básica.

y otra cláusula FROM. En este tema aprenderá a identificar los pasos para construir una Sentencia

La sintaxis de la Sentencia SQL esta mostrada. La Sentencia SELECT debe incluir una cláusula SELECT y una cláusula FROM.

La sintaxis de la Sentencia SQL esta mostrada. La Sentencia SELECT debe incluir una cláusula SELECT

La cláusula DISTINCT es opcional. Puede usar la cláusula DISTINCT solamente cuando necesita eliminar en la pantalla

las filas duplicadas

es opcional. Puede usar la cláusula DISTINCT solamente cuando necesita eliminar en la pantalla las filas

La cláusula SELECT especifica las columnas que desea mostrar. La cláusula FROM especifica las tablas que contienen esas

columnas.

SELECT especifica las columnas que desea mostrar. La cláusula FROM especifica las tablas que contienen esas

La Sentencia SQL mostrada recupera todos las filas y columnas de la tabla EMPLOYEES. Alternativamente, también puede especificar los nombres de las columnas que desea seleccionar en la cláusula SELECT.

Alternativamente, también puede especificar los nombres de las columnas que desea seleccionar en la cláusula SELECT.

Las palabras SELECT y FROM son llamadas keywords. Un keyword comienza una cláusula SQL individual o un elemento

• Las palabras SELECT y FROM son llamadas keywords. Un keyword comienza una cláusula SQL individual

Una cláusula refiere a una parte de la Sentencia SQL. La Sentencia SQL mostrada en la pantalla tiene dos cláusulas. Una de las cláusulas es la sentencia SELECT * y la otra es FROM EPLOYEES. EMPLOYEES se refiere al

nombre de la tabla.

Una de las cláusulas es la sentencia SELECT * y la otra es FROM EPLOYEES. EMPLOYEES

Una Sentencia es una combinación de cláusulas colocadas en un especificado orden. Note que hay un punto y coma al final de la Sentencia. Colocar un punto y coma al final de una sentencia es la forma de ejecutar

una sentencia SQL.

al final de la Sentencia. Colocar un punto y coma al final de una sentencia es

Cuando ejecuta la sentencia, la consulta SQL es enviada a la Base de Datos Oracle. La Data recuperada por la

consulta es obtenida y enviada de regreso.

la consulta SQL es enviada a la Base de Datos Oracle. La Data recuperada por la

Cuando escriba código SQL, construya sentencias válidas que sean fácil de leer y fáciles de editar. Necesita seguir reglas

simples y procedimientos para construir sentencias válidas.

fácil de leer y fáciles de editar. Necesita seguir reglas simples y procedimientos para construir sentencias

Primero necesita ingresar un Keyword para comenzar una sentencia SQL. Los keywords no pueden ser

abreviados.

• Primero necesita ingresar un Keyword para comenzar una sentencia SQL. Los keywords no pueden ser

Puede añadir keywords subsecuentes en diferentes líneas. Necesita presionar ENTER para ir a la siguiente línea. Esto mejora la lectura, colocando cada cláusula en una línea separada.

presionar ENTER para ir a la siguiente línea. Esto mejora la lectura, colocando cada cláusula en

Las Sentencias SQL no son case sensitive. Es aconsejable, para una mejor lectura, digitar los keywords en mayúsculas. Las demas palabras, como el nombre de la tabla y nombres de las columnas serán colocados en minúsculas.

en mayúsculas. Las demas palabras, como el nombre de la tabla y nombres de las columnas

Usted puede hacer código más leíble poniendo las cláusulas en líneas separadas, y usando tabulaciones y sangrías. La importancia de esta pauta se pone más evidente cuando sus declaraciones se ponen más complejas. La declaración de SQL mostrada

esta separada, y las cláusulas SELECT y FROM están escritas en dos líneas separadas.

La declaración de SQL mostrada esta separada, y las cláusulas SELECT y FROM están escritas en

En este tema, aprendiste a identificar las pautas para construir las sentencias SQL normales. El diagrama muestra la sintaxis para una sentencia SELECT. Usted puede usar la sentencia SELECT para recuperar filas y columnas de una tabla.

sintaxis para una sentencia SELECT. Usted puede usar la sentencia SELECT para recuperar filas y columnas

Seleccionando Columnas y Filas

Cuando selecciona los datos de una tabla, puede seleccionar todas las columnas y filas o puede restringir las columnas o filas que se muestran. Este tema describe los métodos para seleccionar las

columnas de una tabla.

las columnas o filas que se muestran. Este tema describe los métodos para seleccionar las columnas

Para mostrar todas las columnas de datos en una tabla, debes poner un asterisco después de la palabra clave (keyword) SELECT. El asterisco representa todas las columnas de una tabla.

poner un asterisco después de la palabra clave (keyword) SELECT. El asterisco representa todas las columnas

Para completar la sentencia identifique la tabla que quiere acceder. Especifica la tabla en la cláusula FROM. En este ejemplo, se seleccionará todas las columnas de la tabla de los EMPLOYEES.

la tabla en la cláusula FROM. En este ejemplo, se seleccionará todas las columnas de la

Para ejecutar la declaración, debe poner un punto y coma al final de la última línea en la declaración y hacer clic en el botón Execute. Cuando ejecute la declaración, se mostraran todas las columnas de la tabla EMPLOYEES. La pantalla se ha desplazado hacia abajo para que se vean los primeros registros.

las columnas de la tabla EMPLOYEES. La pantalla se ha desplazado hacia abajo para que se

Alternativamente, puedes mostrar todas las columnas listando todos los nombres de columnas después de la Palabra Clave SELECT. Debes separar los nombres de las columnas con comas.

todos los nombres de columnas después de la Palabra Clave SELECT. Debes separar los nombres de

Listando todos los nombres de las columna de una tabla en la cláusula SELECT, produces los mismos resultados como si usaras

el asterisco.

nombres de las columna de una tabla en la cláusula SELECT, produces los mismos resultados como

Puedes limitar las columnas mostradas en el resultado de la consulta limitando el número de columnas que se lista en la cláusula SELECT. Por ejemplo, para mostrar sólo department_IDs y la department_name,

especifica sólo esas dos columnas.

cláusula SELECT. Por ejemplo, para mostrar sólo department_IDs y la department_name, especifica sólo esas dos columnas.

El orden en que lista las columnas en los cláusula SELECT determina el orden en que aparecen las columnas en el resultado. En el ejemplo, especificando el manager_ID seguido por department_name en la cláusula SELECT causa los resultados mostrados

con la columna manager_id primero y la columna department_name después.

cláusula SELECT causa los resultados mostrados con la columna manager_id primero y la columna department_name después.

Las títulos de las columnas (o cabeceras) y los datos de las tablas se alinean según las configuraciones pre-definidas. Las Columnas que contienen carácter o datos de fecha están justificadas a la izquierda dentro de la anchura de la columna. Los títulos de las

columnas se centran.

de fecha están justificadas a la izquierda dentro de la anchura de la columna. Los títulos

Las Columnas que contiene data numérica son justificados a la derecha. Los títulos de las columnas para estas columnas están

centradas.

contiene data numérica son justificados a la derecha. Los títulos de las columnas para estas columnas

Todos los títulos de las columnas aparecen en mayúsculas por defecto. Sin embargo, usted puede cambiar los títulos de la columna según su conveniencia usando los seudónimos de columna o alias.

embargo, usted puede cambiar los títulos de la columna según su conveniencia usando los seudónimos de

Este tema describió cómo escribir las sentencias SELECT para mostrar las columnas y filas de una tabla. Puede usar la palabra clave SELECT para recuperar todas las columnas o las columnas específicas de una tabla.

una tabla. Puede usar la palabra clave SELECT para recuperar todas las columnas o las columnas

Expresiones Artiméticas

Puede modificar la manera en que los datos se muestran, puede realizar cálculos, y puede considerar en qué escenarios usar las expresiones aritméticas en una sentencia SQL. En este tema, aprenderás a escribir una declaración SQL que incluya

expresiones aritméticas.

en una sentencia SQL. En este tema, aprenderás a escribir una declaración SQL que incluya expresiones

Una expresión aritmética puede contener el nombre de la la columna, valores numéricos constantes, y operadores aritméticos. Los operadores aritméticos disponibles en SQL son la suma, resta, multiplicación, y división. Puedes usar los operadores aritméticos en

cualquier cláusula de una declaración SQL excepto la cláusula FROM.

Puedes usar los operadores aritméticos en cualquier cláusula de una declaración SQL excepto la cláusula FROM.

Por ejemplo, necesitas calcular un aumento de sueldo de $300 para todos los empleados. La salida debe mostrar un nuevo

sueldo adicional de $300 a la columna.

aumento de sueldo de $300 para todos los empleados. La salida debe mostrar un nuevo sueldo

Si desea mostrar los datos de la tabla EMPLOYEES. Los datos incluye el nombre del empleado, sueldo, y el nuevo sueldo que es el sueldo actual más $300. En la cláusula SELECT, especificas las columnas que quieres mostrar. Estos son FIRST_NAME, SALARY, y SALARY+300. En la cláusula FROM, especificas el nombre de tabla EMPLOYEES.

mostrar. Estos son FIRST_NAME, SALARY, y SALARY+300. En la cláusula FROM, especificas el nombre de tabla

La consulta produce una nueva columna SALARY+300 en la salida. La columna SALARY+300 no es una nueva columna en la tabla EMPLOYEES, sólo es para el despliegue y no ha alterado la tabla. Por defecto, el nombre de la

columna viene del cálculo SALARY+300.

sólo es para el despliegue y no ha alterado la tabla. Por defecto, el nombre de

En las declaraciones SQL, se evalúan las expresiones aritméticas según un orden normal de funcionamiento. La multiplicación y división toman prioridad sobre la suma y resta. Si los operadores dentro de una expresión son de la misma prioridad

entonces la expresión es evaluada de derecha a izquierda

operadores dentro de una expresión son de la misma prioridad entonces la expresión es evaluada de

Por ejemplo, quieres calcular la compensación anual para los empleados. Multiplicas el sueldo mensual por 12, entonces agregas una paga extraordinaria de $100 a cada uno. En este ejemplo, la compensación anual

se representa por la expresión aritmética 12*salary+100.

de $100 a cada uno. En este ejemplo, la compensación anual se representa por la expresión

Puedes usar los paréntesis para reforzar el orden normal de precedencia y mejorar la claridad. Usted puede escribir la expresión de la compensación anual como (12*salary)+100 sin cambio en el resultado.

la claridad. Usted puede escribir la expresión de la compensación anual como (12*salary)+100 sin cambio en

Alternativamente, puedes usar los paréntesis para sobre-escribir las reglas de precedencia. Por ejemplo, si quieres calcular la compensación anual incluyendo un bono mensual de $100, la expresión sería 12*(salary+100).

si quieres calcular la compensación anual incluyendo un bono mensual de $100, la expresión sería 12*(salary+100).

Cuando usted realiza las operaciones aritméticas en valores NULOS, el resultado siempre es NULO. Se dice que un campo vacío contiene NULO (NULL).

operaciones aritméticas en valores NULOS, el resultado siempre es NULO. Se dice que un campo vacío

Un valor NULO se define como un valor que no esta disponible, no asignado, desconocido, o inaplicable. Un valor NULO no es igual que un cero o un espacio. El cero es un número y un espacio es un carácter. La columna COMMISSION_PCT

en la tabla EMPLOYEES tiene valor NULO.

El cero es un número y un espacio es un carácter. La columna COMMISSION_PCT en la

Las columnas de cualquier tipo de dato pueden contener valores NULOS, a menos que la columna no se defina como NULO cuando la tabla fue creada. Alternativamente, las columnas Primary Key (llaves primaria) no pueden tener valores NULOS. La columna EMPLOYEE_ID es una columna Primary Key. La columna DEPARTMENT_ID se define como una Columna no NO NULA.

NULOS. La columna EMPLOYEE_ID es una columna Primary Key. La columna DEPARTMENT_ID se define como una

Si cualquier valor de una expresión aritmética es NULO, entonces el resultado es NULO. Por ejemplo, si intentas dividir un número por cero, se consigue un error. Si usted divide un número por NULO, el resultado es NULO

si intentas dividir un número por cero, se consigue un error. Si usted divide un número

Este tema demostró cómo escribir declaraciones SQL que contienen expresiones aritméticas. Usted puede cambiar el orden predefinido de precedencia para evaluar operadores aritméticos usando paréntesis.

Usted puede cambiar el orden predefinido de precedencia para evaluar operadores aritméticos usando paréntesis.

LECCIÓN II:

PERSONALIZAR CONSULTAS

Alias de Columnas

Cuando extrae datos de una tabla, puede mostrar los resultados en un formato más útil. Este tema describe el uso de seudónimos o alias de columnas como una manera de personalizar las declaraciones SELECT.

Este tema describe el uso de seudónimos o alias de columnas como una manera de personalizar

Puedes usar un alias de columna para asignar un nombre diferente al encabezado de la columna. Al mostrar el resultado de la consulta, en algunos casos los títulos de las columnas pueden ser ambiguos. Usando un alias, puedes

mostrar un título más descriptivo para una columna.

de las columnas pueden ser ambiguos. Usando un alias, puedes mostrar un título más descriptivo para

Por ejemplo, si recuperas los primeros nombres y salarios de los empleados de la tabla EMPLOYEES, recibes dos columnas: FIRST_NAME y SALARY. Para crear un resultado más descriptivo, puedes asignar nombres de alias NOMBRE y SUELDO

a las respectivas columnas.

Para crear un resultado más descriptivo, puedes asignar nombres de alias NOMBRE y SUELDO a las

Creando una alias de columna, no está cambiando el nombre de una columna en la base de datos. Usted está cambiando sólo el título de la columna en el resultado.

el nombre de una columna en la base de datos. Usted está cambiando sólo el título

Especificas un alias apropiado después del nombre de columna o expresión en la lista SELECT. Separas el nombre de la columna y el seudónimo con un mínimo de un espacio.

de columna o expresión en la lista SELECT. Separas el nombre de la columna y el

Cuando ejecuta la consulta, el resultado reemplaza el nombre real de la columna con los nombres del alias. Por defecto, los

títulos aparecen en el mayúscula.

reemplaza el nombre real de la columna con los nombres del alias. Por defecto, los títulos

Si no quieres que un alias esté en mayúsculas o si quieres usar espacios en blanco en el nombre del alias, entonces incluye al alias doble comilla (“). Incluyendo un alias en doble comilla, puedes especificar el caso exacto y los

espacios que quieras aparecer en el resultado.

un alias en doble comilla, puedes especificar el caso exacto y los espacios que quieras aparecer

Puedes insertar la palabra clave opcional AS entre un nombre de columna y un alias de columna para hacer que la declaración SQL sea más fácil de leer y más explícito. El resultado de la consulta es el mismo.

para hacer que la declaración SQL sea más fácil de leer y más explícito. El resultado

En este tema, aprendiste a usar los seudónimos o alias de columna para personalizar sentencias SQL SELECT. Los seudónimos de columna hacen los resultados más descriptivos.

de columna para personalizar sentencias SQL SELECT. Los seudónimos de columna hacen los resultados más descriptivos.

Operador Concatenación

Otra manera de personalizar una sentencia SQL es concatenar dos o más columnas. Este tema describe cómo usar al operador

de concatenación.

una sentencia SQL es concatenar dos o más columnas. Este tema describe cómo usar al operador

Puedes usar al operador de concatenación para concatenar o enlazar columnas a otras columnas, caracteres aritméticos, o valores constantes. Cuando se une una columna a uno de estos elementos, el resultado

despliega una sola columna que es una expresión de tipo carácter.

une una columna a uno de estos elementos, el resultado despliega una sola columna que es

El operador de concatenación se representa por dos barras verticales. Las columnas, en cualquier lado del operador, son

combinados para mostrar una única columna.

por dos barras verticales. Las columnas, en cualquier lado del operador, son combinados para mostrar una

Por ejemplo, el logon del sistema para los empleados consista en su ID y su primer nombre. Para recuperar una lista de nombres de logon, puedes usar al operador de concatenación para que se una el ID del empleado y sus

primeros nombres.

de nombres de logon, puedes usar al operador de concatenación para que se una el ID

El resultado es una sola columna de información. La información combina al ID del empleado y sus primeros

nombres en una columna llamada el LOGON_NAME.

de información. La información combina al ID del empleado y sus primeros nombres en una columna

Este tema cubrió el uso del operador de concatenación. Puedes usar el operador de concatenación para unir columnas de información en una sola columna que contiene una expresión de tipo carácter.

de concatenación para unir columnas de información en una sola columna que contiene una expresión de

Cadena de Caracteres Literales

Puede introducir un carácter en una declaración SELECT personalizando el resultado mostrado. Este carácter ingresado o cadena de caracteres son conocido como literal. Este tema demuestra el uso de cadenas de carácter

literales.

ingresado o cadena de caracteres son conocido como literal. Este tema demuestra el uso de cadenas

Un literal es un carácter, expresión, o número puestos en la lista SELECT entre los nombres de columnas. Incluyes los caracteres literales entre comillas simples. Usted no necesita incluir el literal de número en comilla.

Un literal es un valor que aparece una vez para cada fila de datos.

no necesita incluir el literal de número en comilla. Un literal es un valor que aparece

Se unen las columnas y las cadenas literales con el operador de concatenación en una cláusula SELECT. Por esto, usted puede producir resultados personalizados que son fácil de leer y entender. En la pantalla, las columnas FIRST_NAME, EMPLOYEE_ID, y SALARY se han

unido con las cadenas literales para desplegar un resultado descriptivo.

columnas FIRST_NAME, EMPLOYEE_ID, y SALARY se han unido con las cadenas literales para desplegar un resultado

Puedes mostrar el literal como una columna separada. Por ejemplo, necesitas crear un resultado que detalla el nombre del empleado con sus títulos de trabajo enlazados por la cadena literal ‘ is a ’ (‘es un’). En la pantalla, el literal ' is a' se pone entre los nombres de la columna en la lista SELECT. El resultado produjo una columna separada que contiene la cadena

literal.

los nombres de la columna en la lista SELECT. El resultado produjo una columna separada que

Alternativamente, usando la concatenación, el resultado muestra una sola columna que puede darse un solo alias como Detalles del Empleado. Enlazando las columnas FIRST_NAME y JOB_ID de esta manera, das mayor significado a las filas recuperadas.

del Empleado. Enlazando las columnas FIRST_NAME y JOB_ID de esta manera, das mayor significado a las

Este tema cubrió el uso del carácter literal para personalizar el despliegue del resultado. Incluyendo el carácter literal en las declaraciones SELECT, puedes reforzar la legibilidad del resultado.

del resultado. Incluyendo el carácter literal en las declaraciones SELECT, puedes reforzar la legibilidad del resultado.

Eliminar Filas Duplicadas

Cuando envía una declaración SQL SELECT al servidor ORACLE para su ejecución, la consulta devuelve todas las filas automáticamente, incluso las filas duplicadas. Este tema discutiremos cómo eliminar las filas duplicadas

del resultado de una consulta.

incluso las filas duplicadas. Este tema discutiremos cómo eliminar las filas duplicadas del resultado de una

A menos que indique lo contrario, el resultado de una consulta contiene todas las filas de una columna. Por ejemplo, si usted selecciona los DEPARTMENT_IDs de la tabla EMPLOYEES, el resultado despliega toda los

DEPARTMENT_IDs, incluso los que se repiten.

los DEPARTMENT_IDs de la tabla EMPLOYEES, el resultado despliega toda los DEPARTMENT_IDs, incluso los que se

Puedes eliminar las filas duplicadas usando la palabra clave DISTINCT en la cláusula SELECT. Debe colocar DISTINCT

inmediatamente después de la palabra clave SELECT.

palabra clave DISTINCT en la cláusula SELECT. Debe colocar DISTINCT inmediatamente después de la palabra clave

Usando la palabra clave DISTINCT, eliminas las filas duplicadas en el resultado. En el ejemplo, la tabla EMPLOYEES contiene 108 filas, pero solo hay 12 únicos números de departamentos en la tabla.

En el ejemplo, la tabla EMPLOYEES contiene 108 filas, pero solo hay 12 únicos números de

La pantalla muestra todos los 12 únicos números de departamento. La cláusula DISTINCT ha eliminado el despliegue

de números de departamentos duplicados.

números de departamento. La cláusula DISTINCT ha eliminado el despliegue de números de departamentos duplicados.

Puedes especificar columnas múltiples después de la palabra clave DISTINCT. La palabra clave DISTINCT afecta todas a las

columnas seleccionadas.

múltiples después de la palabra clave DISTINCT. La palabra clave DISTINCT afecta todas a las columnas

Usando la palabra clave DISTINCT para seleccionar los números de departamento y los títulos de trabajo producen una combinación distinta de las columnas. Cuando usted usa la palabra clave DISTINCT, el resultado se ordena primero con los valores de la columna DEPARTMENT_ID y dentro de cada ID, se ordenan por valores de la columna JOB_ID

primero con los valores de la columna DEPARTMENT_ID y dentro de cada ID, se ordenan por

Este tema discutió el uso de la palabra clave DISTINCT. La cláusula DISTINCT se usa para eliminar las filas duplicadas del

resultado de una consulta.

la palabra clave DISTINCT. La cláusula DISTINCT se usa para eliminar las filas duplicadas del resultado

ORACLE 10g

Restringiendo y ordenando la información

LECCIÓN I:

Restricción de Filas

Cláusula WHERE

Puedes restringir el número de filas que se recuperan de la Base de Datos usando la cláusula WHERE en una sentencia SQL. En este tema aprenderás a escribir Sentencias SQL usando la cláusula WHERE.

la cláusula WHERE en una sentencia SQL. En este tema aprenderás a escribir Sentencias SQL usando

Insertando una cláusula WHERE en una sentencia SQL, puedes especificar

una condición que debe cumplirse, y solo las filas que cumplan con esa condición serán retornadas. Esto es también conocido como selección. La selección de columnas o filas está basada en la condición que

especifiques.

es también conocido como selección. La selección de columnas o filas está basada en la condición

La cláusula WHERE sigue directamente a la cláusula FROM en la Sentencia SQL. La cláusula WHERE consiste de la Palabra Clave WHERE y una condición o condiciones

cláusula FROM en la Sentencia SQL. La cláusula WHERE consiste de la Palabra Clave WHERE y

La condición en una cláusula WHERE especifica una comparación de valores que limitan las filas retornadas por una consulta. La condición consiste de 3 elementos. Primero es un nombre de columna y segundo es un operador de comparación. El tercer elemento puede ser otro nombre de columna, constante o lista de valores.

segundo es un operador de comparación. El tercer elemento puede ser otro nombre de columna, constante

La sentencia SQL muestra el ID del empleado, primer nombre, apellido, y salario de esos empleados cuyo ID de departamento tienen el valor 90. El nombre de columna después de la Palabra Clave WHERE especifica la columna que quieres restringir. No puedes usar un alias de columna para especificar una columna en

una cláusula WHERE.

la columna que quieres restringir. No puedes usar un alias de columna para especificar una columna

El operador de comparación identifica las filas que son retornadas. En la pantalla, el operador de comparación es el

signo igual.

de comparación identifica las filas que son retornadas. En la pantalla, el operador de comparación es

El nombre de la columna, constante, o lista de valores que siguen al operador de la comparación completan la condición considerando que las filas serán restringidas. En el ejemplo, la declaración selecciona las filas

dónde el valor en la columna de DEPARTMENT_ID es exactamente 90.

En el ejemplo, la declaración selecciona las filas dónde el valor en la columna de DEPARTMENT_ID

Cuando ejecutas la consulta que contiene la cláusula WHERE, el resultado muestra sólo a los IDs de los empleados, primeros nombres, apellidos, y sueldos de esos empleados cuyo el DEPARTMEN_ID contiene el valor 90.

IDs de los empleados, primeros nombres, apellidos, y sueldos de esos empleados cuyo el DEPARTMEN_ID contiene

En este tema, aprendiste a usar la cláusula WHERE. Puedes usar la cláusula WHERE para mostrar solamente las filas que

quieres ver.

aprendiste a usar la cláusula WHERE. Puedes usar la cláusula WHERE para mostrar solamente las filas

Cláusula WHERE: usando diferentes Tipos de Datos

Usando una cláusula WHERE, puedes especificar condiciones que incluyen números, caracteres y fecha. En este tema, aprenderás a escribir una cláusula WHERE usando diferentes Tipos de Datos.

números, caracteres y fecha. En este tema, aprenderás a escribir una cláusula WHERE usando diferentes Tipos

Usas una cláusula WHERE para restringir filas basadas en una comparación de valores. Estos valores pueden ser valores numéricos, cadenas de caracteres o valores de fecha.

en una comparación de valores. Estos valores pueden ser valores numéricos, cadenas de caracteres o valores

Puedes especificar un valor numérico en una cláusula WHERE, la condición requiere no adicionar especificaciones. Escribe la palabra clave WHERE, el nombre de columna, el operador de comparación y el número.

especificaciones. Escribe la palabra clave WHERE, el nombre de columna, el operador de comparación y el

Cuando uses una cadena de caracteres o un valor de fecha en la condición de la cláusula WHERE, coloque el valor entre comillas simples.

cadena de caracteres o un valor de fecha en la condición de la cláusula WHERE, coloque

Los valores de tipo carácter son case sensitive. Por ejemplo, la cadena ‘ATLANTA’ no es lo mismo que ‘atlanta’ o ‘Atlanta’.

tipo carácter son case sensitive. Por ejemplo, la cadena ‘ATLANTA’ no es lo mismo que ‘atlanta’

Considere una situación en la que necesita una lista de todos los empleados que tienen el JOB_ID de SA_MAN. Necesita primero especificar el nombre de columna en la cláusula SELECT. Las columnas FIRST_NAME, JOB_ID y DEPARTMENT_ID. Seguido, especifica el nombre de la tabla en la cláusula FROM.

SELECT. Las columnas FIRST_NAME, JOB_ID y DEPARTMENT_ID. Seguido, especifica el nombre de la tabla en la

Si tipea la palabra SA_MAN en minúsculas, no retornará ninguna fila. Por el contrario, la data en la tabla EMPLOYEES es almacenada en mayúsculas.

en minúsculas, no retornará ninguna fila. Por el contrario, la data en la tabla EMPLOYEES es

Especificas el valor fecha en un formato predefinido. La pantalla despliega el formato de fecha como DD-MON-YY.

• Especificas el valor fecha en un formato predefinido. La pantalla despliega el formato de fecha

Oracle9i Database almacena las fechas en un formato interno, representando el siglo, año, mes, dia, hora, minutos y segundos. El despliegue predefinido de una fecha muestra el dia, mes y año, no puedes ver la hora ni minutos ni segundos aunque si es almacenado.

predefinido de una fecha muestra el dia, mes y año, no puedes ver la hora ni

El formato de despliegue de fecha predefinido común en Oracle9i es DD-MON-RR. DD es el día del mes, MON son las primeras tres letras del nombre del mes, y RR es los últimos dos dígitos del año. La fecha que especificas debe estar en este formato. Por ejemplo, el 25 de enero de 2002, se especifica y despliega en el

formato de fecha 25-JAN-02.

estar en este formato. Por ejemplo, el 25 de enero de 2002, se especifica y despliega

En este tema, aprendiste a escribir una cláusula WHERE usando diferentes Tipos de datos. Los caracteres y valores de fecha deberán ser colocados entre comillas simples.

WHERE usando diferentes Tipos de datos. Los caracteres y valores de fecha deberán ser colocados entre

LECCIÓN II:

Operadores de Comparación

Objetivos

Usar los operadores de comparación en la cláusula

WHERE.

Mostrar las filas basadas en un rango de valores usando el operador BETWEEN.

Mostrar las filas que estasn relacionadas con una

lista de valores usando el operador IN

Realizando búsquedas avanzadas usando el operador LIKE.

Mostrar las filas que contienen valores NULOS usando el operador IS NULL.

Usando Operadores de comparación

Los operadores de comparación son colocados en una cláusula WHERE para restringir las filas devueltas basados en la comparación de una expresión con otra. En este tema, aprenderás a usar los operadores de comparación en la cláusula WHERE.

de una expresión con otra. En este tema, aprenderás a usar los operadores de comparación en

Algunos de los operadores de comparación que pueden ser usados en la cláusula WHERE se muestran a continuación. Los operadores son igual a, mayor que, mayor o igual a, menor que, menor o igual a y diferente a.

Usando estos operadores, puedes especificar las condiciones a restringir

en las filas devueltas por una consulta.

a. Usando estos operadores, puedes especificar las condiciones a restringir en las filas devueltas por una

Otros operadores de comparación pueden ser usados en la cláusula WHERE, estos

son BETWEEN

AND

, IN, LIKE y IS NULL. También puedes usar estos

operadores de comparación para restringir las filas devueltas por una consulta basadas en una variedad de condiciones.

operadores de comparación para restringir las filas devueltas por una consulta basadas en una variedad de

Por ejemplo, necesitas recuperar una lista de empleados que ganan un sueldo mensual mayor a $1250. Puedes usar el operador de comparación para especificar la condición.

que ganan un sueldo mensual mayor a $1250. Puedes usar el operador de comparación para especificar

Puedes usar el operador de comparación “mayor que” en la cláusula WHERE, especificas una

condición de salary > 1250.

usar el operador de comparación “mayor que” en la cláusula WHERE, especificas una condición de salary

El resultado produce una lista de empleados que gana mas de $1250 por mes.

• El resultado produce una lista de empleados que gana mas de $1250 por mes.

También puedes usar operadores de comparación en una cláusula WHERE que contienen caracteres o valores de fecha. Debes colocar el carácter o valor de fecha entre comillas

simples

WHERE que contienen caracteres o valores de fecha. Debes colocar el carácter o valor de fecha

Considere una situación donde necesitas una lista de los empleados que gana un sueldo mensual que es mayor o igual a su comisión anual. Primero debes seleccionar las columnas que necesitas recuperar. Seguido,

especificas el nombre de la tabla, y finalmente añades la cláusula WHERE

que restringa los resultados a la condición.

especificas el nombre de la tabla, y finalmente añades la cláusula WHERE que restringa los resultados

EL resultado produce una lista de empleados que tienen un sueldo mensual que es mayor que su comisión anual. Los empleados cuya columna COMMISSION_PCT contienen un

valor NULL no son incluido en la lista.

que su comisión anual. Los empleados cuya columna COMMISSION_PCT contienen un valor NULL no son incluido

Cuando usas los operadores de comparación en una cláusula WHERE, las filas que contienen valores NULOS no son efectivamente parte del resultado. Esto es porque cuando comparas un valor NULO con cualquier valor, su resultado siempre es NULO. Un valor no puede ser igual, mayor que, menor que o diferente a NULO,

porque NULO no es un valor.

siempre es NULO. Un valor no puede ser igual, mayor que, menor que o diferente a

En este tema aprendiste a usar los operadores de comparación en la cláusula WHERE. Estos operadores

recuperan resultados de la tabla basadas en la condición que

especificas.

en la cláusula WHERE. Estos operadores recuperan resultados de la tabla basadas en la condición que

Operador BETWEEN

Algunas veces necesitas recuperar información que está en un rango de valores. Para mostrar filas basadas en un rango de valores, usas el operador BETWEEN. En este tema aprenderás a mostrar filas basadas en un rango de valores usando el operador BETWEEN.

el operador BETWEEN. En este tema aprenderás a mostrar filas basadas en un rango de valores

Para especificar una condición en una cláusula WHERE basado en un rango de valores, usas las palabras claves BETWEEN y AND. Especificas la palabra clave BETWEEN seguido del límite inferior del rango, y la palabra clave AND, y el límite superior del rango.

la palabra clave BETWEEN seguido del límite inferior del rango, y la palabra clave AND, y

Los valores especificados en el operador BETWEEN

son inclusivos. Necesitas especificar primero el límite

inferior.

• Los valores especificados en el operador BETWEEN son inclusivos. Necesitas especificar primero el límite inferior.

Puedes usar el operador BETWEEN para mostrar caracteres o valores de fecha que se encuentren en un rango. Cuando

especificas caracteres o fechas en un rango, debes colocar

cada valor entre comillas simples.

en un rango. Cuando especificas caracteres o fechas en un rango, debes colocar cada valor entre

Puedes recuperar una lista de todos los empleados cuyos nombres alfabéticamente se encuentren en un rango específico. Seleccionas la columna FIRST_NAME de la tabla EMPLOYEES. Entonces añades una cláusula WHERE que especifica el rango desde la letra ‘S’ hasta la letra ‘W’. Los valores de caracter en el

rango son colocados entre comillas simples.

desde la letra ‘S’ hasta la letra ‘W’. Los valores de caracter en el rango son

Operador IN

Si necesitas restringir las filas recuperadas a valores en una lista específica, entonces debes usar el operador IN en una cláusula WHERE. En este tema, aprenderás a mostrar filas que estén relacionadas con una lista de valores usando el operador IN.

WHERE. En este tema, aprenderás a mostrar filas que estén relacionadas con una lista de valores

Usas el operador IN dentro de una cláusula WHERE para probar los valores en una lista específica de valores no consecutivos. La palabra clave IN se sigue por una lista de valores separados por comas. La lista de valores debe estar dentro de paréntesis.

clave IN se sigue por una lista de valores separados por comas. La lista de valores

Puedes usar el operador IN en cualquier tipo de

dato. El tipo de Dato puede ser numérico, carácter o

fecha.

• Puedes usar el operador IN en cualquier tipo de dato. El tipo de Dato puede

Puedes usar el operador IN con caracteres o fechas en una cláusula WHERE. Necesitas colocar cada cadena de caracteres o fecha entre comillas simples.

caracteres o fechas en una cláusula WHERE. Necesitas colocar cada cadena de caracteres o fecha entre

En este tema, aprendistes a usar el operador IN. Puedes usar el operador IN para restrimgit as filas retornadas probados para valores en una lista.

a usar el operador IN. Puedes usar el operador IN para restrimgit as filas retornadas probados

En este tema, aprendiste a usar el operador IN. Puedes usar el operador IN para restringir filas retornadas probados para valores en una lista.

a usar el operador IN. Puedes usar el operador IN para restringir filas retornadas probados para

Operador LIKE

Al recuperar información de una tabla, no siempre sabes exactamente qué valor quieres buscar. Puedes usar el operador LIKE en una cláusula WHERE buscando patrones de caracteres en la información. En este tema, aprenderás a realizar búsquedas WILDCARD usando el operador LIKE.

de caracteres en la información. En este tema, aprenderás a realizar búsquedas WILDCARD usando el operador

Puedes seleccionar filas que estén relacionadas con un patrón de caracteres usando el operador LIKE. Este método de búsqueda basado en patrones de caracteres es conocido

como WILCARD

de caracteres usando el operador LIKE. Este método de búsqueda basado en patrones de caracteres es

Para realizar búsquedas WILDCARD, primero debes hacer una cadena que contenga símbolos comodines. El símbolo porcentaje (%) representa cualquier número de caracteres, cero o mas. El símbolo underscore (_) representa un solo carácter. La cadena de búsqueda esta encerrada entre comillas simples.

El símbolo underscore (_) representa un solo carácter. La cadena de búsqueda esta encerrada entre comillas

En una cláusula WHERE, colocas el nombre de columna seguido por el operador LIKE y la cadena de búsqueda. El ejemplo en la pantalla muestra las búsquedas para valores en la columna FIRTS_NAME donde el tercer

carácter sea A

El ejemplo en la pantalla muestra las búsquedas para valores en la columna FIRTS_NAME donde el

Si necesitas hacer búsquedas de cadenas de caracteres que contengan el literal % o _, entonces debes usar la opción ESCAPE. Usando la opción ESCAPE, puedes especificar que los símbolos porcentaje y underscore ( %, _ ) no representen cadenas comodines.

la opción ESCAPE, puedes especificar que los símbolos porcentaje y underscore ( %, _ ) no

Por ejemplo, para mostrar los nombres de los empleados cuyo nombre contengan los caracteres A_B, puedes usar la sentencia mostrada en la pantalla. La palabra clave ESCAPE identifica el backslah (barra inversa) como el carácter ESCAPE. El carácter de escape interpreta el siguiente carácter literalmente.

backslah (barra inversa) como el carácter ESCAPE. El carácter de escape interpreta el siguiente carácter literalmente.

En el ejemplo, el backslash precede el underscore. Por consiguiente, el servidor Oracle interpreta el underscore literalmente en esta sentencia. El resultado mostrará nombres como SARA_BENNETT, SANDRA_BROWN, y DEBRA_BURNS

underscore literalmente en esta sentencia. El resultado mostrará nombres como SARA_BENNETT, SANDRA_BROWN, y DEBRA_BURNS

En este tema, aprendiste a usar el operador LIKE en una cláusula WHERE. El operador LIKE es usado para restringir filas recuperadas basadas en la búsqueda de patrones de caracteres.

WHERE. El operador LIKE es usado para restringir filas recuperadas basadas en la búsqueda de patrones

Operador IS NULL

Si quieres averiguar que si alguna columna contiene un valor NULO, puedes usar el operador IS NULL en la cláusula WHERE. En este tema, aprenderás a mostrar filas que contienen valores NULOS usando el operador IS NULL.

en la cláusula WHERE. En este tema, aprenderás a mostrar filas que contienen valores NULOS usando

El operador IS NULL evalúa todos los valores si nos NULOS. Un medio de

valor NULO es aquel valor no disponible, no asignado, desconocido, o inaplicable. No puedes probar, para valores NULOS, usando un signo igual porque un valor NULO no puede ser igual o diferente a cualquier valor.

probar, para valores NULOS, usando un signo igual porque un valor NULO no puede ser igual

Por ejemplo, necesitas recuperar los nombres de empleados que no tienen un administrador. Puedes usar el operador IS NULL para hallar todas las filas que contienen un valor NULO en la columna MANAGER_ID. En la cláusula WHERE, digitas el nombre de la columna seguido por el operador IS NULL:

NULO en la columna MANAGER_ID. En la cláusula WHERE, digitas el nombre de la columna seguido

La lista de empleados resultantes que tienen un valor NULO en la columna MANAGER_ID. En la tabla EMPLOYEES, solo uno de los empleados no tiene asignado un administrador.

valor NULO en la columna MANAGER_ID. En la tabla EMPLOYEES, solo uno de los empleados no

En este tema, aprendiste a mostrar filas que contienen valores NULOS usando el operador IS NULL. El operador IS NULL recupera solo aquellas filas que contienen un valor NULO.

valores NULOS usando el operador IS NULL. El operador IS NULL recupera solo aquellas filas que

LECCIÓN III:

Operadores Lógicos

Objetivos

Escribir una expresión combinada usando el

operador AND en una cláusula WHERE.

Escribir una expresión combinada usando el operador OR en una cláusula WHERE.

Restringir filas usando el operador NOT en una

cláusula WHERE.

Identificar las reglas de precedencia cuando se

evalúan condiciones que usan operadores de

comparación y lógicos.

Operador AND

Puedes especificar mas de una condición en una cláusula WHERE usando operadores lógicos. Tres operadores lógicos están disponibles en SQL:

AND, OR y NOT. En este tema, aprenderás a escribir una expresión combinada usando el operador AND en una cláusula WHERE.

OR y NOT. En este tema, aprenderás a escribir una expresión combinada usando el operador AND

Usas el operador lógico AND en una cláusula WHERE para definir condiciones que todas deberían ser verdad- Si todas las condiciones se cumplen entonces las filas serán

recuperadas

condiciones que todas deberían ser verdad- Si todas las condiciones se cumplen entonces las filas serán

Típicamente adicionas la palabra clave del operador lógico en la siguiente línea después de la cláusula WHERE proporcionando legibilidad a las condiciones. La cláusula WHERE en el ejemplo especifica que el salario mensual debería ser mayor o igual a $2850 y que el JOB_ID debería ser ST_CLERK para toda fila recuperada.

que el salario mensual debería ser mayor o igual a $2850 y que el JOB_ID debería

Si ejecutas la consulta, el resultado lista todos los primeros nombres, apellidos, JOB_IDs y salarios de los empleados que cumplen con ambas condiciones especificadas en la cláusula WHERE

apellidos, JOB_IDs y salarios de los empleados que cumplen con ambas condiciones especificadas en la cláusula

Todo carácter buscado es case sensitive, por defecto. Si especificas el valor ST_CLERK en minúsculas, ninguna fila será retornada. Esto es porque los JOB_IDs son almacenados en mayúsculas en la tabla EMPLOYEES. Necesitas colocar la cadena de caracteres en mayúsculas en la condición de búsqueda.

mayúsculas en la tabla EMPLOYEES. Necesitas colocar la cadena de caracteres en mayúsculas en la condición

Cuando combinas cualquier número de condiciones AND, todas las condiciones deben ser verdad para que el resultado también sea verdad- Si todas las condiciones no se cumplen, ninguna fila es recuperada.

ser verdad para que el resultado también sea verdad- Si todas las condiciones no se cumplen,

Puedes usar el operador lógico AND para combinar condiciones que reduzcan el alcance de la búsqueda. El ejemplo especifica dos condiciones:

el salario esta entre $2850 y $3800 y el MANAGER_ID está en la lista de valores 100, 120 y 121.

dos condiciones: el salario esta entre $2850 y $3800 y el MANAGER_ID está en la lista

En este tema aprendiste a escribir una expresión combinada usando el operador lógico AND. Puedes usar el operador lógico AND para combinar múltiples condiciones en una cláusula WHERE.

el operador lógico AND. Puedes usar el operador lógico AND para combinar múltiples condiciones en una

Operador OR

Cuando escribes una cláusula WHERE, puedes especificar múltiples condiciones usando el operador lógico OR. Cuando dos o mas condiciones son enlazadas por el operador OR, solo uno de las condiciones debe ser verdad. En este tema aprenderás a escribir una expresión combinada usando el operador lógico OR.

condiciones debe ser verdad. En este tema aprenderás a escribir una expresión combinada usando el operador

Puedes usar el operador lógico OR en una cláusula WHERE para definir dos condiciones de los cuales uno debe ser verdad. Si una de las condiciones se cumplen, entonces las filas son recuperadas de la base de datos.

cuales uno debe ser verdad. Si una de las condiciones se cumplen, entonces las filas son

Por ejemplo, necesitas recuperar información acerca de los empleados que ganen un sueldo mayor o igual a $4500 o que tengan el título de trabajo ST_CLERK. Puedes combinar estas condiciones en una cláusula WHERE usando el operador OR.

que tengan el título de trabajo ST_CLERK. Puedes combinar estas condiciones en una cláusula WHERE usando

El resultado produce una lista de empleados que cumplen con alguna de las condiciones. La cadena de caracteres ‘ST_CLERK’ ha sido ingreso en mayúsculas producto del case sensitive de los caracteres. Recuerde que siempre debe encerrar las cadenas de caracteres y fechas entre comillas simples.

sensitive de los caracteres. Recuerde que siempre debe encerrar las cadenas de caracteres y fechas entre

Note las diferencias en los resultados cuando usas el operador lógico AND y OR. El operador lógico OR es menos restrictivo porque solo una de las condiciones debe ser verdad para cada fila recuperada.

El operador lógico OR es menos restrictivo porque solo una de las condiciones debe ser verdad

Cuando combinas dos expresiones con OR, una de las condiciones debe ser verdad para que el resultado sea verdad. Los resultados de combinar dos expresiones con OR son mostradas en la pantalla.

verdad para que el resultado sea verdad. Los resultados de combinar dos expresiones con OR son

Puedes usar el operador lógico OR en una combinación con cualquier operador de comparación para especificar condiciones en una cláusula WHERE. Por ejemplo, para encontrar empleados con ‘S’ como la primera letra en su primer nombre o que no ganen una comisión, puedes usar los operadores de comparación LIKE y IS

NULL enlazados por el operador lógico OR.

no ganen una comisión, puedes usar los operadores de comparación LIKE y IS NULL enlazados por

En este tema, aprendiste a escribir una sentencia SQL que incluya el operador lógico OR en la cláusula WHERE. Puedes usar el operador lógico

OR para especificar condiciones en que la fila se recupera si cualquier de las condiciones es verdad

el operador lógico OR para especificar condiciones en que la fila se recupera si cualquier de

Operador NOT

Mientras recuperas información de una tabla, puedes especificar solo los detalles que quieres ver. En este tema, aprenderás a recuperar información que deseas ver usando el operador NOT en una cláusula WHERE.

ver. En este tema, aprenderás a recuperar información que deseas ver usando el operador NOT en

Puedes usar el operador NOT para invertir el resultado de una simple condición en una cláusula WHERE. Puedes usar el operador lógico NOT en combinación con operadores de comparación como IN, BETWWEN, LIKE y IS NULL.

Puedes usar el operador lógico NOT en combinación con operadores de comparación como IN, BETWWEN, LIKE

Para producir una lista de empleados que no son ni empleados ni vendedores, puedes usar el operador NOT en combinación con el operador IN. Digite NOT directamente antes de la palabra clave IN en la sentencia.

el operador NOT en combinación con el operador IN. Digite NOT directamente antes de la palabra

El resultado produce una lista de empleados que no

tienen el JOB_ID especificado en la lista de valores de

la cláusula IN.

resultado produce una lista de empleados que no tienen el JOB_ID especificado en la lista de

Coloca el operador NOT directamente antes del operador IN, BETWEEN, y LIKE en una declaración SQL. Sin embargo, con el operador IS NULL, coloca la palabla clave NOT en la mitad produciendo el operador IS NOT NULL.

SQL. Sin embargo, con el operador IS NULL, coloca la palabla clave NOT en la mitad

Si una condición intenta evaluar un valor NULO, el resultado es NULO o desconocido. Usas el operador IS NULL para encontrar los valores NULOS. En contraste, puedes usar el operador IS NOT NULL para localizar los valores que no sean NULOS.

los valores NULOS. En contraste, puedes usar el operador IS NOT NULL para localizar los valores

Para recuperar una lista de empleados que ganan una comisión, puedes usar el operador IS NOT NULL en la cláusula WHERE. En la pantalla se muestra el ID del empleado, primer nombre, y la comisión ganada por los empleados.

la cláusula WHERE. En la pantalla se muestra el ID del empleado, primer nombre, y la

En este tema aprendiste a restringir filas usando el operador NOT en una cláusula WHERE. Puedes usar el operador NOT para definir una condición en términos de “que es lo no quieres recuperar”.

WHERE. Puedes usar el operador NOT para definir una condición en términos de “que es lo

En este tema aprendiste a restringir filas usando el operador NOT en una cláusula WHERE. Puedes usar el operador NOT para definir una condición en términos de “que es lo no quieres recuperar”.

WHERE. Puedes usar el operador NOT para definir una condición en términos de “que es lo

Reglas de precedencia

Cuando combinas operadores lógicos y de comparación en una cláusula WHERE, estos operadores son evaluadas de acuerdo a un orden estándar de precedencia. En este tema, aprenderás a identificar las reglas de precedencia

cuando evalúen condiciones que usen operadores de comparación o lógicos

a identificar las reglas de precedencia cuando evalúen condiciones que usen operadores de comparación o lógicos

Las reglas de precedencia determinan el orden en que cada expresión será evaluado y calculado. En la sentencia SELECT, el Servidor Oracle evalúa primero los operadores de comparación y después los operadores lógicos.

la sentencia SELECT, el Servidor Oracle evalúa primero los operadores de comparación y después los operadores

En la evaluación de los operador lógicos, el operador NOT es evaluado primero y el operador AND es evaluado segundo. El operador lógico OR es evaluado tercero.

el operador NOT es evaluado primero y el operador AND es evaluado segundo. El operador lógico

Puedes sobrescribir el orden de precedencia por defecto usando paréntesis. Colocas los paréntesis alrededor de las expresiones que deseas calcular primero.

por defecto usando paréntesis. Colocas los paréntesis alrededor de las expresiones que deseas calcular primero.

De acuerdo con las reglas de precedencia, el operador AND es evaluado antes que el operador OR en una sentencia SQL. En el ejemplo, la sentencia primero recupera las filas de la tablas EMPLOYEES en las que un

empleado gana mas de $4850 y que tiene el JOB_ID de AD_PRES.

recupera las filas de la tablas EMPLOYEES en las que un empleado gana mas de $4850

The statement then evaluates the OR condition. The condition retrieves rows in which the employee has the job ID of SA_MAN. La declaración entonces evalúa la condición OR. La condición recupera filas en las que el

empleado tiene el JOB_ID de SA_MAN.

entonces evalúa la condición OR. La condición recupera filas en las que el empleado tiene el

El resultado refleja una combinación de ambas condiciones. La sentencia recupera filas donde el salario es mayor a $4850 y que tienen el JOB_ID de AD_PRESS o basta que tengad el JOB_ID de SA_MAN. En total, seis registros

coinciden con las condiciones especificadas en la cláusula WHERE.

tengad el JOB_ID de SA_MAN. En total, seis registros coinciden con las condiciones especificadas en la

Puedes usar paréntesis para cambiar la prioridad de evaluación. Insertando paréntesis como se muestra, la primera condición que será evaluada es que el JOB_ID sea AD_PRES o SA_MAN.

Insertando paréntesis como se muestra, la primera condición que será evaluada es que el JOB_ID sea

La segunda condición que será evaluada es que el salario sea mayor a $4850

• La segunda condición que será evaluada es que el salario sea mayor a $4850

El resultado lista los empleados que tienen su JOB_ID como AD_PRES o SA_MAN, y que ganen mas de $4850 por mes. La consulta recupera 6 registros.

empleados que tienen su JOB_ID como AD_PRES o SA_MAN, y que ganen mas de $4850 por

En este tema, aprendiste a identificar las reglas de precedencia usadas en la evaluación de operadores lógicos y de comparación. Siguiendo estas reglas de precedencia, puedes escribir sentencias SQL que recuperen la

información que necesitas.

Siguiendo estas reglas de precedencia, puedes escribir sentencias SQL que recuperen la información que necesitas.

LECCIÓN IV:

Ordenando filas

Objetivos

Ordenar filas recuperadas en orden

ascendente usando la cláusula ORDER BY.

Ordenar filas recuperadas en orden descendente usando la palabra clave DESC en

la cláusula ORDER BY.

Ordenar filas recuperadas usando un alias de columna en la cláusula ORDER BY.

Ordenar filas recuperadas por mas de una columna.

Cláusula ORDER BY

Cuando recuperas información de una tabla, puedes ordenar las filas usando una cláusula ORDER BY. En este tema, aprenderás a ordenar las filas recuperadas en orden ascendente usando una cláusula ORDER BY en

una sentencia SELECT.

aprenderás a ordenar las filas recuperadas en orden ascendente usando una cláusula ORDER BY en una

Cuando recuperas filas de una tabla, el orden de las filas en el resultado es indefinido. Esto significa que el servidor Oracle no puede recuperar las filas en el mismo orden para la misma consulta emitida en dos momentos

diferentes

servidor Oracle no puede recuperar las filas en el mismo orden para la misma consulta emitida

Puedes usar la cláusula ORDER BY para ordenar filas en un orden que puedes especificar. El orden puede ser ascendente o descendente. El orden por defecto es ascendente. Puedes especificar la palabra clave DESC

para ordenar la información en orden descendente

por defecto es ascendente. Puedes especificar la palabra clave DESC para ordenar la información en orden

Colocar una cláusula ORDER BY al final de la sentencia SELECT. Las palabras claves ORDER BY son seguidas por el nombre de columna, alias de columna o expresión usada para ordenar la información. El orden por defecto es ascendente. Para ordenar las filas en orden descendente, necesitas especificar la palabra clave DESC

después del nombre de columna

Para ordenar las filas en orden descendente, necesitas especificar la palabra clave DESC después del nombre

El valor predeterminado para ordenar los datos es en orden ascendente. Los datos numéricos se ordenan del más bajo al más alto. Los datos tipo carácter se ordena alfabéticamente de la A a la Z. Los datos tipo fecha se ordenan del más próximo a la última fecha. Los valores NULOS son mostrados en último lugar en sucesiones

ascendentes.

ordenan del más próximo a la última fecha. Los valores NULOS son mostrados en último lugar

Puedes ordenar la información por una columna o por una expresión. Puedes también usar un alias de columna en una

cláusula ORDER BY para ordenar la información, al contrario

de la sintaxis de la cláusula WHERE.

de columna en una cláusula ORDER BY para ordenar la información, al contrario de la sintaxis

Puedes ordenar datos por un nombre de columna o

expresión. El nombre de columna no necesariamente

debe aparecer en la lista SELECT.

datos por un nombre de columna o expresión. El nombre de columna no necesariamente debe aparecer

Considerando una situación donde necesitas una lista de empleados ordenados en orden ascendente por el sueldo anual, pero no deseas que el salario actual aparezca en el resultado puedes seleccionar solamente el nombre del empleado y entonces especificar el sueldo anual en la cláusula ORDER BY usando la expresión

SALARY * 12.

el nombre del empleado y entonces especificar el sueldo anual en la cláusula ORDER BY usando

El resultado lista a los empleados ordenados por el

salario anual. La cantidad del salario no aparece en el

resultado.

• El resultado lista a los empleados ordenados por el salario anual. La cantidad del salario

En este tema, aprendiste a usar la cláusula ORDER BY. Puedes incluir la cláusula ORDER BY en la sentencia

SELECT para ordenar los resultados de una consulta.

ORDER BY. Puedes incluir la cláusula ORDER BY en la sentencia SELECT para ordenar los resultados

Ordenando en Orden descendente

Algunas veces necesitas mostrar la información ordenada en orden descendente. En este tema, aprenderás a ordenar las filas recuperadas en orden descendente usando la palabra

clave DESC en la cláusula ORDER BY.

aprenderás a ordenar las filas recuperadas en orden descendente usando la palabra clave DESC en la

El orden por defecto cuando usa la cláusula ORDER BY es ascendente. Puedes revertir el orden de las filas mostradas usando la Palabra clave DESC.

usa la cláusula ORDER BY es ascendente. Puedes revertir el orden de las filas mostradas usando

Necesitas colocar la palabra clave DESC después del nombre de columna en la cláusula ORDER BY. Esto ordenará la columna en el orden descendente.

clave DESC después del nombre de columna en la cláusula ORDER BY. Esto ordenará la columna

Necesitas colocar la palabra clave DESC después del nombre de columna en la cláusula ORDER BY. Esto ordenará la columna en el orden descendente.

clave DESC después del nombre de columna en la cláusula ORDER BY. Esto ordenará la columna

La Palabra clave DESC implementa un ordenamiento descendente. Los valores numéricos son mostrados desde el mas alto al mas bajo. Los valores caracteres son mostrados desde la Z a la A. Los valores fecha son mostrados desde las últimas fechas a las mas próximas. Los valores NULOS son mostrados primeros en

secuencias descendentes.

desde las últimas fechas a las mas próximas. Los valores NULOS son mostrados primeros en secuencias

En este tema, aprendiste a usar la palabra clave DESC en la cláusula ORDER BY. Pedes usar la palabra clave DESC para ordenar información en orden descendente.

clave DESC en la cláusula ORDER BY. Pedes usar la palabra clave DESC para ordenar información

Ordenando por Alias de Columnas

Si proporciona un alias de columna en su sentencia SELECT, puedes usar este alias en la cláusula ORDER BY. En este tema, aprenderás a ordenar las filas recuperadas usando un alias de columna en la cláusula ORDER BY.

ORDER BY. En este tema, aprenderás a ordenar las filas recuperadas usando un alias de columna

Puedes usar un alias de columna para proporcionar una cabecera mas descriptiva para la información mostrada como el resultado de una consulta. Asignas una alias de columna a una columna real, puedes también usar el alias en la cláusula ORDER BY.

de una consulta. Asignas una alias de columna a una columna real, puedes también usar el

En este tema, aprendiste como ordenar filas recuperadas usando un alias de columna en la cláusula ORDER BY. Usando un alias de columna, no necesitas digitar la columna, o columnas, o la expresión en la cláusula ORDER BY.

BY. Usando un alias de columna, no necesitas digitar la columna, o columnas, o la expresión

Ordenar por múltiples columnas

Puedes ordenar resultados de consulta usando mas de una columna. En este tema, aprenderás a ordenar filas recuperadas por mas de una columna.

de consulta usando mas de una columna. En este tema, aprenderás a ordenar filas recuperadas por

Puedes ordenar información por mas de una columna especificando múltiples columnas en la cláusula ORDER BY. Separas los nombres de columnas, alias o expresiones usando comas en la cláusula ORDER BY. El orden del ordenamiento es el orden de las columnas en la lista del ORDER BY.

usando comas en la cláusula ORDER BY. El orden del ordenamiento es el orden de las

Considere una situación dónde necesita mostrar una lista de nombres, IDs de departamento y sueldos de los empleados. Para producir una lista que ordene a los empleados por el ID de departamento, seguido por el sueldo dentro de cada ID de departamento, puedes especificar las múltiples columnas en la cláusula ORDER

BY.

por el sueldo dentro de cada ID de departamento, puedes especificar las múltiples columnas en la

Si necesitas invertir el orden dentro de una columna, debes poner la palabra clave DESC después del nombre de la columna en la cláusula ORDER BY. En una lista de columnas múltiples, usted necesita especificar la palabra clave DESC después de cada columna que necesite estar ordenado en orden descendente.

necesita especificar la palabra clave DESC después de cada columna que necesite estar ordenado en orden

En este tema, aprendiste a ordenar filas recuperadas por mas de una columna. Puedes usar esta información para organizar el orden de los datos recuperados por una consulta.

por mas de una columna. Puedes usar esta información para organizar el orden de los datos

ORACLE 10g

Funciones de fila únicas

LECCIÓN I:

Tipos de Datos y Funciones SQL

Objetivos

Identificar los diferentes tipos de Dato

Relacionar los tipos de datos carácter con sus

descripciones.

Identificar las características de los tipos de datos numéricos.

Relacionar los tipos de datos DateTime con sus

descripciones.

Relaciones los tipos de datos LOB con sus descripciones.

Identificar los tipos de Funciones SQL.

Relacionar los tipos de funciones de filas únicas con sus

características.

Categoría Tipos de Datos

Oracle Database consiste de varios objetos de base de datos. Una tabla es un objeto de la base de datos donde almacena su información. La información que se almacena en una tabla puede pertenecer a diferentes tipos de datos como un character, number o DateTime. En este tema aprenderás acerca de las categorías

de tipos de datos proporcionados por Oracle9i.

number o DateTime. En este tema aprenderás acerca de las categorías de tipos de datos proporcionados

Cada valor manipulado por Oracle tiene un tipo de dato. Los tipos de datos proporcionan una manera de definir la conducta de la información. Cuando creas una tabla, debes

especificar un tipo de dato para cada una de sus columnas.

la conducta de la información. Cuando creas una tabla, debes especificar un tipo de dato para

El tipo de dato de un valor asocia un juego fijo de propiedades con el valor. Estas propiedades causan que Oracle trate los valores de un tipo de dato diferentemente de los valores de otro. Se muestran las categorías de tipos de dato. Puede categorizar el tipo de dato proporcionado por Oracle9i como CHARACTER,

NUMBER, RAW y LONG RAW, DATETIME, LOB, y ROWID.

categorizar el tipo de dato proporcionado por Oracle9i como CHARACTER, NUMBER, RAW y LONG RAW, DATETIME,

En un tipo de datos CHARACTER puedes almacenar variables de tipo caracter de longitud fija o variable. VARCHAR2, CHAR y LONG con algunos de los tipos de dato CHARACTER. La mayoría de los tipos de dato tiene un tamaño máximo dado, forzado por el servidor Oracle. Salvo el tipo de dato CHAR, todos los tipos de datos

CHARACTER aceptan datos de longitud variable.

por el servidor Oracle. Salvo el tipo de dato CHAR, todos los tipos de datos CHARACTER

Puedes almacenar valores numéricos de longitud variable con la ayuda del tipo de dato NUMBER. El tipo de dato NUMBER puede almacenar precisión (p) y escala (s). Precisión es el total de dígitos decimales. Escala es el número de dígitos a la derecha de la precisión.

escala (s). Precisión es el total de dígitos decimales. Escala es el número de dígitos a

Puedes almacenar valores de fecha y hora usando el tipo de dato DATETIME. En Oracle9i, puedes incluir la zona horaria y las fracciones de segundo en los tipos de dato DATETIME. DATE, TIMESTAMP, INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND, TIMESTAMP WITH TIME ZONE, y TIMESTAMP WITH LOCAL TIME ZONE son algunos de los tipos de datos

DATETIME.

DAY TO SECOND, TIMESTAMP WITH TIME ZONE, y TIMESTAMP WITH LOCAL TIME ZONE son algunos de

Puedes almacenar grandes cantidades de información y datos no estructurados como texto, imágenes, video usando los tipos de dato LOB. El tipo de dato LOB como BLOB y CLOB pueden almacenar hasta 4 GB de información.

video usando los tipos de dato LOB. El tipo de dato LOB como BLOB y CLOB

ROWID es una cadena hexadecimal que representa una dirección única de una fila en la tabla. El Tipo de Dato ROWID es usado para almacenar la dirección de cada fila en una base

de datos.

de una fila en la tabla. El Tipo de Dato ROWID es usado para almacenar la

El tipo de dato RAW es equivalente al tipo de dato VARCHAR2. Generalmente este tipo de dato es usado para almacenar datos binarios que no son interpretados por el Servidor Oracle. Puedes almacenar hasta 2000 bytes de datos binarios. Sin embargo, debes especificar un tamaño máximo cuando uses el tipo de dato RAW.

hasta 2000 bytes de datos binarios. Sin embargo, debes especificar un tamaño máximo cuando uses el

El tipo de dato LONG RAW es equivalente al tipo de dato LONG. El tipo de dato LONG RAW almacena hasta dos GB de datos binarios de longitud variable.

equivalente al tipo de dato LONG. El tipo de dato LONG RAW almacena hasta dos GB

En este tema, aprendiste acerca de las categorías de tipos de dato proporcionados por Oracle 9i. Un tipo de dato es un formato estándar de dato. Si conoces el tipo de dato de la columna entonces puedes identificar el contenido de la información almacenada en esa columna de la tabla.

de dato de la columna entonces puedes identificar el contenido de la información almacenada en esa

Tipos de Dato Character

Puedes usar el tipo de dato CHARACTER para almacenar valores de longitud variable y fija. En este tema, aprenderás acerca de los tipos de dato character.

para almacenar valores de longitud variable y fija. En este tema, aprenderás acerca de los tipos

Cuando usas una tipo de dato de longitud variable, el espacio para almacenar los datos se conserva. Por ejemplo, tienes un nombre de columna que puede guardar hasta 10 caracteres. Si ingresas un valor que tiene 5 caracteres, el espacio restante

puede ser usado para almacenar otros valores.

caracteres. Si ingresas un valor que tiene 5 caracteres, el espacio restante puede ser usado para

Al contrario, un tipo de dato de longitud fija consume toda la longitud especificada sin tener en cuenta el número de caracteres almacenado. Si insertas un valor que es más corto que la longitud especificada, el valor se llena con espacio en blanco

hasta la longitud especificada.

que es más corto que la longitud especificada, el valor se llena con espacio en blanco

Los tipos de dato character son usados para almacenar caracteres donde el número de caracteres no puede exceder un límite particular máximo. Oracle asegura que todos los valores almacenados en una columna tengan un tamaño específico. Los tipos de datos

mas comúnmente usados son VARCHAR2, CHAR, y LONG.

en una columna tengan un tamaño específico. Los tipos de datos mas comúnmente usados son VARCHAR2,

El tipo de dato VARCHAR2(longitud) es un tipo de dato de longitud variable con una longitud mínima de un caracter y una longitud máxima de 4000 caracteres. Cuando usas el tipo de dato VARCHAR2, debes especificar un tamaño máximo.

y una longitud máxima de 4000 caracteres. Cuando usas el tipo de dato VARCHAR2, debes especificar

Un ejemplo es mostrado donde una columna llamada ADDRESS pertenece a un tipo de dato VARCHAR2. VARCHAR2 es un tipo de dato ideal para almacenar direcciones porque estos puedes contener tanto valores numéricos como caracter.

es un tipo de dato ideal para almacenar direcciones porque estos puedes contener tanto valores numéricos

El tipo de dato CHAR es usado para almacenar caracteres de longitud fija. La longitud por defecto y mínima del tipo de dato CHAR es uno. Sin embargo, puedes especificar una longitud de hasta 2000 caracteres.

por defecto y mínima del tipo de dato CHAR es uno. Sin embargo, puedes especificar una

Identifique la longitud máxima de caracteres que pueden ser especificados en un tipo de dato

VARCHAR2.

4000

3000

5000

100

–

Puedes usar el tipo de dato character LONG para almacenar caracteres de longitud variable hasta de 2 GB. Una columna LONG puede contener cualquier caracter como letras, números, símbolos o espacios en blanco.

hasta de 2 GB. Una columna LONG puede contener cualquier caracter como letras, números, símbolos o

Oracle9i proporciona varios tipos de dato character. En este tema, aprendiste acerca de los tipos de dato character. Usas estos tipos de dato para almacenar caracteres.

En este tema, aprendiste acerca de los tipos de dato character. Usas estos tipos de dato

Tipos de Dato NUMBER

Puedes almacenar valores numéricos usando el tipo de dato NUMBER. En este tema, aprenderás acerca de las características de los tipos de dato NUMBER.

usando el tipo de dato NUMBER. En este tema, aprenderás acerca de las características de los

El tipo de dato NUMBER almacena siempre valores numéricos de longitud variable. Por ejemplo, puedes almacenar el salario de un empleado en una columna que es del tipo de dato NUMBER.

longitud variable. Por ejemplo, puedes almacenar el salario de un empleado en una columna que es

La sintaxis para el tipo de dato NUMBER es mostrada. Puedes especificar un número de punto fijo usando el formato NUMBER(p,s)

para el tipo de dato NUMBER es mostrada. Puedes especificar un número de punto fijo usando

La precisión es el total de dígitos. Por ejemplo, si tomamos el

número 99.65, la precisión es 4. La precisión puede ser desde 1 hasta 38. La precisión por defecto para el tipo de dato NUMBER es

38.

la precisión es 4. La precisión puede ser desde 1 hasta 38. La precisión por defecto

La Escala es el número de dígitos a la derecha del punto decimal. La Escala puede estar en el rango de -84 hasta 127. Por ejemplo si tomas el número 66.553, la escala es tres.

decimal. La Escala puede estar en el rango de -84 hasta 127. Por ejemplo si tomas

Identifique la característica del Tipo de Dato NUMBER

Un tipo de dato NUMBER almacena data

alfanumérica de longitud variable

Un tipo de dato NUMBER almacena data numérica de longitud fija

El rango de la ESCALA es de -84 a 155

–

El rango de la PRECISIÓN es de 1 a 38

Tipos de Dato DateTime

La versión Oracle9i ha introducido nuevos tipos de datos DateTime que te habilita a incluir el desplazamiento de la zona horaria y proporciona soporte para fracciones de segundo. En este tema aprenderás acerca de

los tipos de dato DateTime

horaria y proporciona soporte para fracciones de segundo. En este tema aprenderás acerca de los tipos

Oracle9i proporciona fecha y hora extendidas y soporta diferentes zonas horarias. Algunos de los tipos de dato DateTime son DATE, TIMESTAMP, INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND, TIMESTAMP WITH TIME ZONE, y TIMESTAMP WITH LOCAL TIME ZONE.

TIMESTAMP, INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND, TIMESTAMP WITH TIME ZONE, y TIMESTAMP WITH

Los valores de los tipos de dato DateTime son llamados algunas veces Fechas y horas. Las Fechas y Horas están hechas de campos. El valor de estos campos determinan el valor del tipo de dato. Los campos mostrados son YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, TIMEZONE_HOUR, y TIMEZONE_MINUTE

valor del tipo de dato. Los campos mostrados son YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, TIMEZONE_HOUR,

El tipo de Dato DATE es un tipo de dato estándar Oracle usado para almacenar valores de fecha y hora. El formato de fecha por defecto en Oracle9i es DD-MON- RR. El formato le permite guardar fechas del siglo 20 especificando sólo los dos últimos dígitos del año. Esto significa que una fecha específica se guardará

internamente como 25-JAN-2002

los dos últimos dígitos del año. Esto significa que una fecha específica se guardará internamente como

El rango válido del tipo de dato DATE es entre Enero 1, 4712 a.c. Y Diciembre 31, 9999. El formato por defecto para mostrar la fecha es DD- MON-YY. La información del siglo no es mostrada por defecto. Por ejemplo, por defecto la fecha es mostrada como 25-JAN-02.

La información del siglo no es mostrada por defecto. Por ejemplo, por defecto la fecha es

Puedes almacenar tiempo con una precisión de fracciones de segundos usando el nuevo tipo de dato TIMESTAMP. El tipo de dato TIMESTAMP es una extensión del tipo de dato DATE. Puedes almacenar el año, mes y día en el tipo de dato DATE, adicional también puedes almacenar valores de horas, minutos, segundos y

fracciones de segundos.

en el tipo de dato DATE, adicional también puedes almacenar valores de horas, minutos, segundos y

La sintaxis del tipo de dato TIMESTAMP es mostrado. El valor de precisión de las fracciones de segundos especifica, opcionalmente, el número de dígitos en la parte fraccional del campo SECOND. El valor de precisión de las fracciones de segundos puede ser cualquier valor entre 0 y 9. El valor por defecto es 6.

El valor de precisión de las fracciones de segundos puede ser cualquier valor entre 0 y

El tipo de dato INTERVAL es usado para representar la diferencia precisa entre dos valores DATETIME. Por ejemplo, para almacenar el tiempo que tomo en completar una tarea, puedes usar el tipo de dato INTERVAL para grabar el tiempo entre el inicio y final de la tarea.

en completar una tarea, puedes usar el tipo de dato INTERVAL para grabar el tiempo entre

El tipo de dato INTERVAL YEAR TO MONTH es un tipo de dato INTERVAL. Puedes usar el tipo de dato INTERVAL YEAR TO MONTH para almacenar intervalos de años y meses.

un tipo de dato INTERVAL. Puedes usar el tipo de dato INTERVAL YEAR TO MONTH para

Necesitas calcular las fechas de la apreciación del empleado que varían basado en el contraste de las fechas de los empleados. La columna de la APRECIACIÓN de la tabla mostrada tiene el tipo de dato INTERVAL YEAR TO MONTH que guarda el valor en años. Este valor se agrega al contraste de la fecha para calcular las fechas

de la apreciación que se guardan en la columna de APPR_DATE.

se agrega al contraste de la fecha para calcular las fechas de la apreciación que se

El tipo de dato INTERVAL YEAR TO MONTH almacena un periodo de hora usando los campos YEAR y MONTH. En la sintaxis mostrada, el valor de precisión del año es el número de dígitos en el campo YEAR. El valor por defecto es 2.

sintaxis mostrada, el valor de precisión del año es el número de dígitos en el campo

El INTERVAL DAY TO SECOND es otro tipo de INTERVAL. El tipo de dato almacena un periodo de tiempo en términos de días, horas, minutos y segundos. El valor mostrado indica un día, 5 horas, 31 minutos, y 0 segundos.

en términos de días, horas, minutos y segundos. El valor mostrado indica un día, 5 horas,

Por ejemplo, el departamento Ferrocarril quiere generar el tiempo de llegada, automáticamente, para todos los trenes. El tipo de dato INTERVAL DAY TO SECOND puede usarse para guardar el tiempo de llegada.

para todos los trenes. El tipo de dato INTERVAL DAY TO SECOND puede usarse para guardar

TIMESTAMP WITH TIME ZONE es una variante del tipo de dato TIMESTAMP que incluye un desplazamiento de zona horaria en su valor. El desplazamiento de zona horaria es la diferencia, en horas y minutos, entre el tiempo local y el Coordinated Universal Time (UTC), anteriormente conocido como Greenwich Mean Time

(GMT). Un TIMESTAMP es mostrado.

y el Coordinated Universal Time (UTC), anteriormente conocido como Greenwich Mean Time (GMT). Un TIMESTAMP es

La sintaxis del tipo de dato TIMESTAMP WITH TIME ZONE es mostrado. El valor de precisión de las fracciones de segundo es un ingreso opcional, que especifica el número de dígitos en la parte fraccional del campo SECOND. El valor puede estra comprendido entre 0 y 9. El valor por defecto es 6.

dígitos en la parte fraccional del campo SECOND. El valor puede estra comprendido entre 0 y

Por ejemplo, las estaciones de monitoreo de terremotos alrededor del mundo registran los detalles de temblores detectados en sus respectivas áreas. Las fechas y horas de las ocurrencias de estos temblores son almacenados, junto con el desplazamiento de zona horaria, usando el tipo de dato TIMESTAMP WITH TIME

ZONE.

temblores son almacenados, junto con el desplazamiento de zona horaria, usando el tipo de dato TIMESTAMP

Dos valores TIMESTAMP WITH TIME ZONE son idénticos si ambos representan la misma instancia en UTC. Esto es sin tener en cuenta las zonas horarias guardados en los datos

si ambos representan la misma instancia en UTC. Esto es sin tener en cuenta las zonas

El valor TIMESTAMP mostrado representa la misma instancia en UTC. Esto es, 8:00 am Pacific Estándar Time es lo mismo que 11:00 am Easten Estándar Time. El valor TIMESTAMP puede también ser almacenado como TIMESTAMP ‘199-04-15 8:00:00 US/Pacific’

Estándar Time. El valor TIMESTAMP puede también ser almacenado como TIMESTAMP ‘199 -04-15 8:00:00 US/Pacific’

Identifique el tipo de dato que usaría para especificar el desplazamiento de la zona horaria entre el tiempo

LOCAL y UTC.

–

DATE TIMESTAMP WITH TIME ZONE

TIMESTAMP

INTERVAL YEAR TO MONTH

El tipo de dato TIMESTAMP WITH LOCAL TIME ZONE es otra variante del tipo de dato TIMESTAMP que incluye el desplazamiento de la zona horaria en su valor. A diferencia de

TIMESTAMP WITH TIME ZONE en que la data almacenada en la base de datos esta normalizada a la base de datos del desplazamiento de la zona horaria, y el desplazamiento de

la zona horaria no es almacenado como parte de la columna.

del desplazamiento de la zona horaria, y el desplazamiento de la zona horaria no es almacenado

Los datos son almacenados en la base de datos de zona horaria. En contraste, cuando usted recupera los datos del servidor de Oracle, este devuelve los datos en la zona horaria de su sesión local.

cuando usted recupera los datos del servidor de Oracle, este devuelve los datos en la zona

La sintaxis para especificar el TIMESTAMP WITH LOCAL TIME ZONE es mostrado. El valor de precisión de las fracciones de segundo especifica opcionalmente el número de dígitos en la parte fraccional de campo

SECOND.

de las fracciones de segundo especifica opcionalmente el número de dígitos en la parte fraccional de

Por ejemplo, el sistema de desplazamiento de zona horaria de la base de datos en San Francisco es 8:00. Si un cliente en New York Selecciona un valor TIMESTAMP WITH LOCAL TIME ZONE de la base de datos de San Francisco, el valor es retornado en la zona horaria de la sesión local del cliente.

TIME ZONE de la base de datos de San Francisco, el valor es retornado en la

Para el cliente de New York el valor retornado es '1998-1-23 6:00:00 -5:00‘. El mismo valor es almacenado en la base de

datos de San Francisco como '1998-1-23 3:00:00 -8:00'

- 5:00‘. El mismo valor es almacenado en la base de datos de San Francisco como

Por consiguiente, cuando el cliente en New York selecciona la información de la Base de Datos de San Francisco, el valor mostrado es 1998-1-23 6:00:00 -5:00. En contraste, cuando un cliente en San Francisco selecciona

la información ingresada, el valor mostrado es 1998-1-23 3:00:00 -8:00.

cuando un cliente en San Francisco selecciona la información ingresada, el valor mostrado es 1998-1-23 3:00:00

Otro ejemplo es de una compañía IT multinacional La compañía está planeando una

transmisión en vivo de las celebraciones de días anuales a través del globo. Para fijar una transmisión de varios eventos por el globo, ellos usan una aplicación que guarda el tiempo de la transmisión usando el tipo de dato TIMESTAMP WITH

LOCAL TIME ZONE.

ellos usan una aplicación que guarda el tiempo de la transmisión usando el tipo de dato

Por consiguiente, directores localizados en diferentes zonas horarias pueden preguntar la columna que representa el tiempo de la transmisión fácilmente, para averiguar cuándo empezar y acabar sus transmisiones.

que representa el tiempo de la transmisión fácilmente, para averiguar cuándo empezar y acabar sus transmisiones.

En este tema, aprendiste acerca de los tipos de datos DATETIME. Los nuevos tipos de

datos DATETIME le permiten guardar el tiempo con las fracciones de segundo y el campos DATETIME como AÑO y MES.

tipos de datos DATETIME le permiten guardar el tiempo con las fracciones de segundo y el

Tipos de Dato LOB

Los tipos de datos Objetos Binarios de Gran Tamaño (LOB) fueron introducidos en la versión Oracle8 Database. En este tema, aprenderás acerca de los tipos de objeto LOB

(LOB) fueron introducidos en la versión Oracle8 Database. En este tema, aprenderás acerca de los tipos

Los tipos de datos LOB guardan caracteres así como datos binarios como las imágenes. Los tipos de datos LOB son CLOB, BLOB, y BFILE. Todas las columnas LOB guardan un puntero que sirve como un indicador a los datos en el sistema de archivos del servidor.

Todas las columnas LOB guardan un puntero que sirve como un indicador a los datos en

Puedes almacenar hasta 4 GB de caracteres usando los tipos de datos Character Large Object (CLOB). El CLOB es un gran objeto de tipo carácter que contiene caracteres de bytes simples. Esto significa que el tipo de dato

puede almacenar cantidades grandes de información de tipo carácter.

de bytes simples. Esto significa que el tipo de dato puede almacenar cantidades grandes de información

El Binary Large Object (BLOB) es otro hijo del tipo de dato LOB. Puedes usar el tipo de dato BLOB para almacenar hasta 4 GB de información binaria. Si la información excede la longitud especificada entonces la columna BLOB almacena un puntero que sirve como un indicador a los datos guardado externamente

especificada entonces la columna BLOB almacena un puntero que sirve como un indicador a los datos

El tipo de dato BFILE habilita acceso a archivos binarios LOBs que son almacenados en el sistema de archivos fuera de la base de datos Oracle. Una columna BFILE almacena un punto BFILE, que sirve como un puntero al archivo binaria en el sistema de archivos del servidor. Este puntero mantiene el alias del directorio y el

nombre del archivo. El máximo tamaño de archivo soportado es de 4 GB.

Este puntero mantiene el alias del directorio y el nombre del archivo. El máximo tamaño de

En este tema, aprendiste acerca de los tipos de datos LOB. Los tipos de datos LOB son usados para almacenar grandes cantidades de información binaria.

de los tipos de datos LOB. Los tipos de datos LOB son usados para almacenar grandes

Tipos de Funciones SQL

Las Funciones SQL proporcionan una poderosa opción para realizar operaciones cuando recuperas información de una tabla. En este tema discutiremos los dos tipos de funciones disponibles en SQL. Usando estas funciones SQL puedes manipular los ítems de información.

los dos tipos de funciones disponibles en SQL. Usando estas funciones SQL puedes manipular los ítems

Una función SQL es un programa que realiza una operación sobre la información. La mayoría de las funciones SQL descritas en esta unidad son específicas de Oracle Server. Puedes usar estas funciones además de las funciones SQL estándar de ANSI. Las funciones pueden o no aceptar argumentos de entrada. Todas las

funciones producen resultados

SQL estándar de ANSI. Las funciones pueden o no aceptar argumentos de entrada. Todas las funciones

Usando funciones SQL, puedes realizar cálculos sobre la información. También puedes mostrar resultados modificados para ítems de datos individuales o grupos de filas.

sobre la información. También puedes mostrar resultados modificados para ítems de datos individuales o grupos de

Puedes usar funciones SQL para mostrar fechas y números formateados. También puedes usar funciones SQL para convertir tipos de datos de columnas. El ejemplo en la pantalla muestra valores de fecha, valores caracteres, y valores numéricos en varios formatos.

columnas. El ejemplo en la pantalla muestra valores de fecha, valores caracteres, y valores numéricos en

Las funciones SQL pueden aceptar uno o mas argumentos y siempre retornan un valor simple. Si llamas a una función SQL con un valor NULO como argumento, la función SQL retornará automáticamente NULO.

simple. Si llamas a una función SQL con un valor NULO como argumento, la función SQL

Hay dos tipos de funciones disponibles en SQL. Estas son funciones de fila simple y funciones de filas múltiples. Las funciones de fila simple producen un resultado por fila y las funciones de filas múltiples producen un resultado por grupo de filas.

fila simple producen un resultado por fila y las funciones de filas múltiples producen un resultado

Las funciones de fila simple operan en filas simples únicas y producen un resultado por cada fila. Las funciones de filas simples pueden ser usadas en cláusula SELECT, WHERE y ORDER BY.

un resultado por cada fila. Las funciones de filas simples pueden ser usadas en cláusula SELECT,

Las funciones de filas múltiples operan sobre un grupo de filas y producen un resultado por grupo de filas. Las funciones de filas múltiples son también llamadas funciones grupales.

y producen un resultado por grupo de filas. Las funciones de filas múltiples son también llamadas

Este tema se describieron los dos tipos de funciones disponibles en SQL. Puedes realizar cálculos sobre información, manipular resultados para grupos de filas, mostrar fechas y números formateados, y convertir tipos de datos de columnas usando funciones SQL.

para grupos de filas, mostrar fechas y números formateados, y convertir tipos de datos de columnas

Tipos de Funciones de filas simples:

Características

En este tema, aprenderás acerca de los tipos de funciones de fila simple. Las funciones de fila simple son usadas para

manipular la información.

acerca de los tipos de funciones de fila simple. Las funciones de fila simple son usadas

Una función de fila simple acepta uno o mas argumentos y retorna un valor por cada fila. Estas funciones solo operan en

filas simples.

de fila simple acepta uno o mas argumentos y retorna un valor por cada fila. Estas

La sintaxis para una función de fila simple es mostrada. En la sintaxis, function_name es el nombre de la función de fila simple, seguido por los argumentos de ingreso. Los argumentos de ingreso pueden ser un nombre de columna, una expresión o un valor.

por los argumentos de ingreso. Los argumentos de ingreso pueden ser un nombre de columna, una

El argumento aceptado por la función de fila simple puede es una constante, un valor variable, un nombre de columna, o una expresión. Pro ejemplo, el argumento puede ser la palabra ORACLE, o la expresión salary * 12.

nombre de columna, o una expresión. Pro ejemplo, el argumento puede ser la palabra ORACLE, o

Una función de fila simple puede retornar un valor que es un tipo diferente. Por ejemplo, puedes pasar un tipo de dato carácter como argumento de ingreso, como STEVE, mientras que el valor retornado puede ser numérico como 5.

tipo de dato carácter como argumento de ingreso, como STEVE, mientras que el valor retornado puede

Puedes usar funciones de filas simples en las cláusulas SELECT, WHERE y ORDER BY. El ejemplo en la pantalla mostrará los primeros nombres de los empleados en mayúsculas siempre que la longitud sea igual a 20. El resultado será ordenado por el primer nombre.

de los empleados en mayúsculas siempre que la longitud sea igual a 20. El resultado será

Pueden anidarse las funciones de la fila única. Puedes colocar una función dentro de otra dependiendo del resultado que quieras recuperar. La sintaxis en la pantalla muestra la cláusula SELECT seguida por nombre de funciones anidadas. Los argumentos 1 y 2 refieren a cualquier argumento de ingreso que puede ser usado

por la función.

de funciones anidadas. Los argumentos 1 y 2 refieren a cualquier argumento de ingreso que puede

Existen 5 tipos de funciones de fila únicas: character, number, datetime, Conversión entre tipos de datos y

general

• Existen 5 tipos de funciones de fila únicas: character, number, datetime, Conversión entre tipos de

Identifique la característica de una funciones de fila simple

Estos pueden aparecer en la cláusula FROM

–

Estos pueden ser utilizados en la cláusula ORDER BY

Estos aceptan un número limitado de argumentos

Estos retornan múltiples valores por cada fila

Las funciones carácter aceptan un carácter como ingreso. Algunas funciones carácter retornan valores caracteres y otras retornan valores numéricos.

un carácter como ingreso. Algunas funciones carácter retornan valores caracteres y otras retornan valores numéricos.

Las funciones numéricas aceptan datos numéricos

como argumentos de ingreso. Las funciones retornan

valores numéricos.

Las funciones numéricas aceptan datos numéricos como argumentos de ingreso. Las funciones retornan valores numéricos.

Las Funciones DateTime operan sobre valores de tipo DATO. Todas las funciones DATETIME retornan un DateTime o un intervalo, excepto la función MONTHS_BETWEEN, que retorna un number.

las funciones DATETIME retornan un DateTime o un intervalo, excepto la función MONTHS_BETWEEN, que retorna un

Las funciones de conversión convierten un valor de un tipo de dato a otro. Usando las funciones de conversión, puedes convertir un tipo de dato NUMBER a VARCHAR2 y viceversa. En adición, puedes convertir un tipo da dato VARCHAR2 a DATE y viceversa.

un tipo de dato NUMBER a VARCHAR2 y viceversa. En adición, puedes convertir un tipo da

Las funciones generales mejoran el poder de las sentencias SQL. Estas categorías incluyen funciones como NULLIF, NVL, NVL2, COALESCE, CASE y DECODE. Estas funciones son usada para ejecutar consultas basadas en un condicional, lógica IF THEN ELSE, o para probar valores nulos y retornan expresiones apropiadas.

en un condicional, lógica IF – THEN – ELSE, o para probar valores nulos y retornan

En este tema, aprendiste acerca de las funciones de filas únicas. Puedes usar las diferentes tipos de funciones de fila únicas para realizar cálculos, mostrar información y convertir información de un tipo de dato a otro.

de fila únicas para realizar cálculos, mostrar información y convertir información de un tipo de dato

LECCIÓN II:

Funciones de caracteres

Objetivos

Relaciones los tipos de funciones de caracteres con sus usos.

Mostrar información en minúsculas usando la función LOWER.

Concatenar valores de caracteres usando la función CONCAT.

Mostrar el número de caracteres en un valor usando la función LENTGH.

Mostrar información acerca de un valor carácter usando las

funciones SUBSTR y INSTR.

Mostrar valores rellenados con caracteres usando las funciones LPAD y RPAD.

Remover caracteres o espacios extras de una cadena de caracteres usando la función TRIM.

Buscar y remplazar una expresión de texto usando la función

REPLACE.

Funciones de carácter: usos

Las funciones de carácter de fila simple aceptan datos de carácter como entrada y devuelven carácter o valores numéricos. En este tema, aprenderás sobre los tipos de

funciones de carácter de fila simple.

carácter o valores numéricos. En este tema, aprenderás sobre los tipos de funciones de carácter de

Las Funciones de caracter que devuelven valores de caracteres, retornan valores del mismo tipo de datos que sus argumentos de entrada. Funciones de carácter que devuelven valores numéricos pueden tomar cualquier tipo de dato carácter como argumento de entrada.

de carácter que devuelven valores numéricos pueden tomar cualquier tipo de dato carácter como argumento de

Cuando una función de tipo caracter retorna un valor que es de tipo CHAR, el valor de retorno está limitado a la longitud de 2000 bytes. En contraste, cuando una función de tipo caracter retorna un valor que es de tipo VARCHAR2, el valor de retorno está limitado a la longitud de 4000 bytes.

de tipo caracter retorna un valor que es de tipo VARCHAR2, el valor de retorno está

Puedes categorizar las funciones carácter de fila simple en dos tipos. Estos son Funciones case-manipulation y funciones Character-manipulation.

funciones carácter de fila simple en dos tipos. Estos son Funciones case-manipulation y funciones Character-manipulation.

Usas las funciones case-manipulation para cambiar el case de las cadenas de caracteres. Los diferentes tipos de funciones case-manipulation son LOWER, UPPER y INITCAP

el case de las cadenas de caracteres. Los diferentes tipos de funciones case-manipulation son LOWER, UPPER

Usas la función LOWER para convertir las cadenas de caracteres alfanuméricos a minúsculas. La sintaxis de la función LOWER se muestra. Especificas un nombre de columna o una expresión como argumento de entrada a la función LOWER

función LOWER se muestra. Especificas un nombre de columna o una expresión como argumento de entrada

La sintaxis de la función UPPER es mostrada. Usas la función UPPER para convertir cadenas de caracteres a mayúsculas. Especificas un nombre de columna o una expresión como un argumento de entrada a la función UPPER:

a mayúsculas. Especificas un nombre de columna o una expresión como un argumento de entrada a

La sintaxis de la función INITCAP es mostrada. Usas la función INITCAP para convertir la primera letra de cada cadena de caracteres a mayúscula y el resto a minúsculas. Especificas un nombre de columna o una expresión como argumento de entrada de la función INITCAP.

resto a minúsculas. Especificas un nombre de columna o una expresión como argumento de entrada de

Puedes usar funciones character-manipulation para manipular cadenas de caracteres. Los diferentes tipos de estas funciones son CONCAT, SUBSTR, LENGTH, INSTR, LPAD, RPAD, TRIM y REPLACE.

de caracteres. Los diferentes tipos de estas funciones son CONCAT, SUBSTR, LENGTH, INSTR, LPAD, RPAD, TRIM

Usas la función CONCAT para concatenar el primer valor carácter al segundo valor carácter. La función CONCAT es equivalente al operador de concatenación (||). En la sintaxis mostrada, dos valores son especificados como argumentos de entrada en la función CONCAT. Los valores pueden ser un nombre de columna o una

expresión.

como argumentos de entrada en la función CONCAT. Los valores pueden ser un nombre de columna

Identifique la función que convierte las primeras letras de una cadena de caracteres en mayúsculas y

el resto de las letras en minúsculas

–

INITCAP

UPPER

LOWER

CONCAT

La función SUBSTR extrae un strin de una determinada longitud de un nombre de columna o una expresión. En la sintaxis mostrada, especificas 3 valores como argumentos de entrada a la función SUBSTR. El primer valor puede ser un nombre de columna o una expresión. El segundo valor (m) indica la posición del caracter

de comienzo.

valor puede ser un nombre de columna o una expresión. El segundo valor (m) indica la

La tercera opción (n) indica la longitud total de la cadena devuelta. El valor por defecto de m y n es 1. Esto significa que el servidor de Oracle cuenta desde el principio de la cadena para encontrar el primer carácter. En el ejemplo, la función SUBSTR extrae 4 caracteres del primer nombre del empleado, comenzando del

segundo caracter.

En el ejemplo, la función SUBSTR extrae 4 caracteres del primer nombre del empleado, comenzando del

Si el segundo valor es negativo, el servidor Oracle cuenta hacia atrás desde el final de la cadena. Si el tercer valor se omite, el servidor devuelve todos los caracteres de la cadena. Si el tercer valor es menor que uno entonces devuelve nulo. La sentencia mostrada extrae las cuatro primeras letras a partir del tercer caracter del

primer nombre.

devuelve nulo. La sentencia mostrada extrae las cuatro primeras letras a partir del tercer caracter del

La función LENGTH retorna el numero de caracteres en el valor de una columna o en la expresión. Especificas un nombre de columna o una expresión como argumento de entrada en la función LENGTH. La sintaxis de la función LENGTH es mostrada.

columna o una expresión como argumento de entrada en la función LENGTH. La sintaxis de la

You use the INSTR function to return the numeric position of a named string. You specify two values as input arguments. The first value is the column name or an expression, and the second value is a named string. You search for the named string in the first value.

column name or an expression, and the second value is a named string. You search for

Optionally, you provide a position (m) to start searching from, and the occurrence (n) of the string as the third and fourth input arguments. The function returns a numeric value indicating the position of the character in the first value that is the first character of this occurrence. If the search is unsuccessful, the return value is

zero.

the first value that is the first character of this occurrence. If the search is unsuccessful,

LPAD returns char1, left-padded to length n with the sequence of

characters in char2. If char1 is longer than n, LPAD returns the portion of char1 that fits in n. The argument n is the total length of the return value. The example displayed left-pads the FIRST_NAME column with the

asterisks sign.

n is the total length of the return value. The example displayed left-pads the FIRST_NAME column

RPAD returns char1, right-padded to length n with char2, replicated as many times as necessary. If char1 is longer than n, RPAD returns the portion of char1 that fits in n. The example displayed right-pads the FIRST_NAME column with the letters "ab" until it is 15 characters long.

in n. The example displayed right-pads the FIRST_NAME column with the letters "ab" until it is

You use the TRIM function to trim leading or trailing characters (or both), or spaces from a character string. You specify three input arguments in the TRIM function. The syntax of the TRIM function is displayed.

a character string. You specify three input arguments in the TRIM function. The syntax of the

The first argument is the leading or trailing characters or both. The second argument is the trim_character that you want to trim followed by the FROM clause. The last argument is the trim_source. If the trim_character or the trim_source value is a literal string, you must enclose them in single quotation

marks.

If the trim_character or the trim_source value is a literal string, you must enclose them in

Identifique la función que retorna la posición numérica de un nombre de cadena

Identifique la función que retorna la posición numérica de un nombre de cadena A. INSTR B.

A. INSTR

B. LENGTH

C. LOWER

D. SUBSTR

You use the REPLACE function to search a character string in a text expression. If the character string is found, then the function replaces the search string with the specified replacement string. You specify three input arguments in the REPLACE function, the text expression, search string, and replacement string.

You specify three input arguments in the REPLACE function, the text expression, search string, and replacement

In this topic, you learned about the different types of single- row character functions. These functions help you to convert or manipulate character strings.

different types of single- row character functions. These functions help you to convert or manipulate character

Funciones case-manipulation

You use case-manipulation functions to display character values in a different case, without changing the case of the data in the table. This topic describes the three case-manipulation functions.

case, without changing the case of the data in the table. This topic describes the three

The EMPLOYEES table stores data in mixed case. If you want to display data from this table in a different case, you can use

a case-manipulation function.

in mixed case. If you want to display data from this table in a different case,

Common case-manipulation functions are INITCAP, LOWER, and UPPER. To use a case-manipulation function, you use the

function and pass the character data that you want to convert

enclosed in parentheses.

function, you use the function and pass the character data that you want to convert enclosed

The INITCAP function converts the first letter of each word to uppercase and the remaining letters to lowercase. This form of capitalization is commonly called initial capitalization.

uppercase and the remaining letters to lowercase. This form of capitalization is commonly called initial capitalization.

By using initial capitalization, you can improve the readability of the output displayed by a query. To display employee first names using the INITCAP function, you type the SELECT keyword, then the INITCAP function, followed by the column name in parentheses. The result is a list of employee names with only the first

letter of each name capitalized.

column name in parentheses. The result is a list of employee names with only the first

You use the same syntax structure for the UPPER and LOWER functions. The LOWER function displays all characters in lowercase. The UPPER function displays all characters in uppercase.

The LOWER function displays all characters in lowercase. The UPPER function displays all characters in uppercase.

By combining case-manipulation functions with literal strings, you can produce output that is easy to read and understand. The INITCAP and LOWER functions are applied to the FIRST_NAME and JOB_ID columns in the example. The converted columns are concatenated with literal strings and given an alias of Employee

Details.

in the example. The converted columns are concatenated with literal strings and given an alias of

The screen displays the literal strings, the first names in initcap and job IDs in lowercase. By using a combination of the case-manipulation functions and literal strings the result is easy to read and understand. The screen has been scrolled down for you to view the records.

literal strings the result is easy to read and understand. The screen has been scrolled down

You can also use case-manipulation functions in the WHERE clause. You are searching for information about employee BRUCE and you write a statement that specifies FIRST_NAME = 'bruce' in the WHERE clause. If the name is stored in the table in a different case, such as Bruce or BRUCE, the data is not found.

the WHERE clause. If the name is stored in the table in a different case, such

By using case-manipulation functions, you can convert a column to a specific case before it is evaluated in the WHERE clause. The result converts the values in the FIRST_NAME column to lowercase before evaluating for a match. The screen has been scrolled down for you to display all the three rows.

to lowercase before evaluating for a match. The screen has been scrolled down for you to

This topic discussed converting data to a specific case by using case- manipulation functions. You can use case-manipulation functions to enhance the readability of output displayed and to improve the flexibility of search results.

functions to enhance the readability of output displayed and to improve the flexibility of search results.

Funciones CONCAT

You can concatenate characters and character strings to produce a more readable output. In this topic, you learn how to concatenate character values by using the CONCAT function.

produce a more readable output. In this topic, you learn how to concatenate character values by

You must specify two values in the CONCAT function. An example of the CONCAT function is displayed. The example concatenates the FIRST_NAME and EMAIL columns from the EMPLOYEES table. The alias name MAILID is

specified for the concatenated result.

the FIRST_NAME and EMAIL columns from the EMPLOYEES table. The alias name MAILID is specified for

Consider a situation where you want to display the employee first name and the last name in a single column. You can use the CONCAT function for displaying such an output. The example displayed concatenates the employee FIRST_NAME and LAST_NAME columns. The column alias 'Name' is used.

The example displayed concatenates the employee FIRST_NAME and LAST_NAME columns. The column alias 'Name' is used.

The result displays the first name and the last name together. The screen has been scrolled down for you to view the

records.

result displays the first name and the last name together. The screen has been scrolled down

In this topic, you learned to concatenate or join two character values by using the CONCAT function. You use the CONCAT function to display a more readable output by joining two values.

values by using the CONCAT function. You use the CONCAT function to display a more readable

Funciones LENGTH

If you want to know the number of characters in a string, you can use the LENGTH character function. In this topic, you learn how to determine the number of characters in a string by using the LENGTH function.

function. In this topic, you learn how to determine the number of characters in a string

SQL offers many single-row character functions that work with character values in a variety of ways. The LENGTH function

displays the length of a string as a numeric value.

work with character values in a variety of ways. The LENGTH function displays the length of

To use the LENGTH function, you type the LENGTH keyword, and a column name, character string, or expression enclosed in parentheses. The example displayed retrieves the employees first name and the total number of characters in the FIRST NAME column.

The example displayed retrieves the employees first name and the total number of characters in the

This topic covered the use of the LENGTH function. The LENGTH function is used to show the number of characters in

data.

This topic covered the use of the LENGTH function. The LENGTH function is used to show

Funciones SUBSTR y INSTR

You can display information about a value by using the SUBSTR and INSTR character manipulation functions. This topic describes the use of the SUBSTR and INSTR character functions.

and INSTR character manipulation functions. This topic describes the use of the SUBSTR and INSTR character

Consider a situation where you want to extract only a few characters from a column value or an expression. You can extract a string of a determined length using the SUBSTR function.

from a column value or an expression. You can extract a string of a determined length

The example displayed extracts the first five characters from the department name column by using the SUBSTR function. You specify a character string followed by two numbers. The first number represents the start position of extracting the characters. The second number is the number of characters that you want to

extract.

the start position of extracting the characters. The second number is the number of characters that

By concatenating the SUBSTR function with data from the EMPLOYEE_ID column, you can create a list of identification

numbers. The data has a column alias of ID_NUMBERS.

from the EMPLOYEE_ID column, you can create a list of identification numbers. The data has a

You can find the numeric position of a named character by using the INSTR function.

• You can find the numeric position of a named character by using the INSTR function.

An example of the INSTR function is displayed. By using the INSTR function, you specify a character string or a column name followed by the character for which you want the numeric position. The function returns a numeric value representing the placement of the first occurrence of the specified letter in the string.

function returns a numeric value representing the placement of the first occurrence of the specified letter

The letter placed in the INSTR function syntax is case sensitive. Typing a lowercase letter 'b' in the statement produces a list of zeros because the first character value of the employee name in the EMPLOYEES table are

stored in uppercase.

a list of zeros because the first character value of the employee name in the EMPLOYEES

This topic discussed the use of the SUBSTR and INSTR functions to extract information about character data from the database. You can use these functions to manipulate character data depending on your needs.

about character data from the database. You can use these functions to manipulate character data depending

This topic covered the use of the LENGTH function. The LENGTH function is used to show the number of characters in

data.

This topic covered the use of the LENGTH function. The LENGTH function is used to show

Funciones LPAS y RPAD

You can change the justification of the results of a query by padding character values with specified characters. In this topic, you learn to pad values with characters by using the LPAD and RPAD functions.

with specified characters. In this topic, you learn to pad values with characters by using the

You use the LPAD function to place a character or characters to the left of a character value.

• You use the LPAD function to place a character or characters to the left of

An example of the LPAD function is displayed. You first specify the name of the column that you want to pad, then the total number of characters that you want in the output, and finally the character or characters that you

want to pad to the left of a value.

that you want in the output, and finally the character or characters that you want to

You can use the RPAD function in the same way. The RPAD function pads the character value on the right. An example of the RPAD function is displayed on the screen. The example pads the asterisk sign to the right of the first name.

of the RPAD function is displayed on the screen. The example pads the asterisk sign to

This topic discussed the use of the LPAD and RPAD functions to pad the results of a query with a character or to change the justification of column output. You can use these character manipulation functions in a variety of

ways based on your needs.

of column output. You can use these character manipulation functions in a variety of ways based

Funciones TRIM

You can use the TRIM function to trim certain characters from a character string. In this topic you learn to use the TRIM function.

the TRIM function to trim certain characters from a character string. In this topic you learn

You use the TRIM function to trim leading or trailing characters or both from a character string. If the trim character or the trim source is a literal string, you must specify them in single quotation marks. The characters

are trimmed based on the specification of the user.

you must specify them in single quotation marks. The characters are trimmed based on the specification

If you specify leading, Oracle removes any leading characters equal to trim character. If you specify trailing, Oracle removes any trailing characters equal to trim character. If you specify both or none, Oracle removes trailing and leading characters equal to trim character. If you do not specify trim character, the default

value is a blank space.

and leading characters equal to trim character. If you do not specify trim character, the default

An example of the TRIM function is displayed. In the example, the letter 'S' is the trim character. The trim source is the FIRST_NAME column from the EMPLOYEES table.

example, the letter 'S' is the trim character. The trim source is the FIRST_NAME column from

In this topic, you learned to use the TRIM function with the SELECT statement. The TRIM function is used to trim leading or trailing characters or both from a character string.

the SELECT statement. The TRIM function is used to trim leading or trailing characters or both

Funciones REPLACE

You can use character functions to search for a text expression and replace the string with another value. In this topic, you learn to search for and replace a text expression by using the REPLACE function.

with another value. In this topic, you learn to search for and replace a text expression

You use the REPLACE function to search for a text expression in a source string. If the search string is found, you can replace it with a specified replacement string. If the search is not found, or is null then the source string is returned. You must enclose both the search and the replacement strings within single quotation

marks.

the source string is returned. You must enclose both the search and the replacement strings within

In the example, the REPLACE function has three input arguments. The first argument is the DEPARTMENT_NAME column. The second input argument is the search string IT. The third input argument is the replacement string Tech. If the string IT is found, it is replaced by Tech. This replacement occurs only in the output

and not in the table.

Tech. If the string IT is found, it is replaced by Tech. This replacement occurs only

Consider a situation where you want to search for the department name DEPT 5 in the DEPARTMENT_NAME column. If found, you want to replace DEPT 5 with the name TECH. The department names are displayed. Notice that the last value is Dept 5. The screen has been scrolled down for you to view the last set of rows.

displayed. Notice that the last value is Dept 5. The screen has been scrolled down for

In this topic, you learned to search for and replace a text expression by using the REPLACE function. You can use the REPLACE function to search for text expression and replace the search string with a replacement

string.

You can use the REPLACE function to search for text expression and replace the search string

LECCIÓN III:

Funciones numéricas

Objetivos

match the number functions with their

descriptions.

Display rounded values to a specified decimal place by using the ROUND function.

Display truncated values to a specified decimal

place by using the TRUNC function.

Return the remainder of one value divided by

another by using the MOD function.

Funciones numéricas: usos

You use number functions to accept numeric input. The number functions return numeric values. In this topic, you learn to match some of the number functions with their descriptions.

functions return numeric values. In this topic, you learn to match some of the number functions

The three most commonly used number functions are displayed. They are ROUND, TRUNC, and MOD.

• The three most commonly used number functions are displayed. They are ROUND, TRUNC, and MOD.

The ROUND function rounds the column, expression, or value to n decimal places. The syntax of the ROUND function is displayed. The first parameter is the column name or an expression. The second parameter is the number of decimal places to which you want to round off the value.

name or an expression. The second parameter is the number of decimal places to which you

You use the TRUNC function to truncate the column value, expression, or a value to n decimal places. The syntax of the TRUNC function is displayed. The first parameter is the column or an expression. You specify the number of decimal places as the second parameter.

The first parameter is the column or an expression. You specify the number of decimal places

The MOD function returns the remainder of m divided by n. The syntax of the MOD function is displayed. You must specify two values as parameters to the MOD function. For example, you can use the MOD function to determine if a value is odd or even.

as parameters to the MOD function. For example, you can use the MOD function to determine

In this topic, you learned to match the number functions with their descriptions. You use number functions to accept numeric input and return numeric values.

the number functions with their descriptions. You use number functions to accept numeric input and return

LECCIÓN IV:

Funciones Date

Objetivos

identify the uses of the SYSDATE function.

define the RR date format.

perform arithmetic operations on dates.

display date information by using common SQL date functions.

FUNCION SYSDATE

SQL offers a variety of functions for working with dates. This topic describes the SYSDATE function for returning the current date and time.

of functions for working with dates. This topic describes the SYSDATE function for returning the current

Oracle stores dates in an internal format, representing the century, year, month, day, hours, minutes, and seconds. For example, the current date will be stored internally by the Oracle server as January 30, 2002 11:05:00.

and seconds. For example, the current date will be stored internally by the Oracle server as

The default display and input format for any date in the Oracle9i server is DD- MON-RR. DD stands for the date of the month, MON stands for the first three letters in the month name, and RR stands for the year that also includes the century. Valid Oracle dates are between January 1, 4712 B.C., and December 31,

9999 A.D.

the year that also includes the century. Valid Oracle dates are between January 1, 4712 B.C.,

The DATE datatype always stores year information as a four-digit number internally, two digits for the century and two digits for the year. For instance, the Oracle database stores the year as 1999 or 2001, and not as

99 or 01.

and two digits for the year. For instance, the Oracle database stores the year as 1999

The example displays the HIRE_DATE column values in the format DD-MON-YY. However, in the database, dates include the components of date and time. This means that the time and century information is also stored internally. The complete hire date for the second to last name Grant is January 13th, 2000 5:10:43

p.m.
p.m.

SYSDATE is a date function that returns the current date and time. You can use the function in any SQL statement.

• SYSDATE is a date function that returns the current date and time. You can use

When you add a date column into a table, the century information can be extracted from the SYSDATE function. However, when the date column is displayed, the century component is not displayed by default.

from the SYSDATE function. However, when the date column is displayed, the century component is not

For example when you add the current date into a date column, the year will be stored as 2002. However, when the date is displayed, the year will be 02.

date into a date column, the year will be stored as 2002. However, when the date

SYSDATE is a function that contains no arguments. You can use SYSDATE just as you use a column name. To display the current date and time and employee hire dates, you can select SYSDATE and HIRE_DATE from the EMPLOYEES table.

display the current date and time and employee hire dates, you can select SYSDATE and HIRE_DATE

The result of selecting SYSDATE and HIRE_DATE from the EMPLOYEES table displays the current date and time and values of the hire date column. The current date and hire dates are displayed in the default display format.

and time and values of the hire date column. The current date and hire dates are

If you want to display the current date only once, you can retrieve the SYSDATE from the DUAL table. The DUAL table is a dummy table.

to display the current date only once, you can retrieve the SYSDATE from the DUAL table.

The DUAL table is a useful feature of the Oracle server. The DUAL table consists of one column named DUMMY. The datatype of this column is

VARCHAR2.

feature of the Oracle server. The DUAL table consists of one column named DUMMY. The datatype

You use the DUAL table when you want to return a value only once, such as the value of a constant, an expression, or other value that is not derived from a specific data table. The statement displayed extracts the first three letters from the word 'ORACLE'. The DUAL table is used because the word is not stored in any

table.

first three letters from the word 'ORACLE'. The DUAL table is used because the word is

You can use the DUAL table for computing a constant expression with the SELECT statement. Because DUAL has only one row, the constant is returned only once. In the example, you use the DUAL table to compute the temperature in celsius with a given temperature of 50 degrees fahrenheit.

example, you use the DUAL table to compute the temperature in celsius with a given temperature

This topic described the SYSDATE function. The SYSDATE function displays the current date and time.

• This topic described the SYSDATE function. The SYSDATE function displays the current date and time.

FORMATO DATE RR

The default display date format DD-MON-RR uses two digits to represent the century of a date and the last two digits to represent the year. This topic describes the RR date format.

to represent the century of a date and the last two digits to represent the year.

The RR date format element is similar to the YY element, but it allows Oracle to calculate whether the date is in this century or the following one. The RR date format element is the default instead of YY for the year. The century of the return value varies based on the specified two-digit year and the digits of the current

year.

If you use the RR format instead of YY to represent the year, the Oracle server uses the current century and year when deciding on a century. The behavior of the RR format varies depending on the year specified, the current year, and the current century.

century. The behavior of the RR format varies depending on the year specified, the current year,

If the two digits in the current year are between 50 and 99, and the specified two-digit year is between 0 and 49, then the return date is in the century after the current one. For example, if the current year is 1998 and you specify a

date of 18-JUL-24, then that date is interpreted as July 18, 2024.

example, if the current year is 1998 and you specify a date of 18-JUL-24, then that

If the two digits in the current year are between 50 and 99, and the specified two- digit year is between 50 and 99, then the return date is in the current century. For example, if the current year is 1998, and you specify a date of 18-JUL-98, then that date is interpreted as July 18, 1998.

example, if the current year is 1998, and you specify a date of 18-JUL-98, then that

If the two digits of the current year are between 0 and 49, and the specified two- digit year is between 0 and 49, then the return date is in the current century. For example, if the current year is 2002, and you specify a date of 18-JUL-24, then that date is interpreted as July 18, 2024.

example, if the current year is 2002, and you specify a date of 18-JUL-24, then that

If the two digits in the current year are between 0 and 49, and the specified two- digit year is between 50 and 99, then the return date is in the century before the current one. For example, if the current year is 2002, and you specify a date of 18- JUL-98, then that date is interpreted as July 18, 1998.

if the current year is 2002, and you specify a date of 18- JUL-98, then that

Identifique el año interpretado por el formato RR si especificas la fecha como 20-OCT-17

A. 1947

B.

1817

C.
C.

2017

D.

2117

This topic described the use of the RR date format, which you can use to specify different centuries when using a two-digit year in a date format. Alternatively, you can avoid any question of the century in your data by

always specifying all four digits of the year.

Alternatively, you can avoid any question of the century in your data by always specifying all

Aritmética de fechas

You can use arithmetic operators, such as addition and subtraction, to perform arithmetic on dates. This topic describes how to perform arithmetic operations on dates.

and subtraction, to perform arithmetic on dates. This topic describes how to perform arithmetic operations on

The Oracle server stores dates in an internal format. You can perform calculations on dates by using arithmetic operators.

The Oracle server stores dates in an internal format. You can perform calculations on dates by

You can add a number of days to a date by adding a number to a date value. For example, if the current date is 10-JAN-02 the expression SYSDATE + 3 results in the date value 13-JAN-02. Similarly, the expression SYSDATE - 2 subtracts two days from the current date and results in the date value 08-JAN-02.

Similarly, the expression SYSDATE - 2 subtracts two days from the current date and results in

To find the number of days between two dates, you can subtract one date value from another. The result is a numeric value. For example, if the current date is 10-JAN-02 and that an employee's hire date is 06-JAN-02

the expression SYSDATE - HIRE_DATE results in the numeric value four.

and that an employee's hire date is 06-JAN-02 the expression SYSDATE - HIRE_DATE results in the

Consider a situation where you want to schedule a performance review for all employees 90 days after their hire date. You can use date arithmetic to perform this task.

a performance review for all employees 90 days after their hire date. You can use date

If you subtract a more current date from an older date, the difference is a negative number. Subtracting the SYSDATE from values in the HIRE_DATE column produces a list of negative numbers representing the number of days between the dates. The numbers to the right of the decimal point represent part of a day.

representing the number of days between the dates. The numbers to the right of the decimal

This topic discussed how to perform arithmetic with dates. By using arithmetic operations on date values, you can quickly calculate date information.

perform arithmetic with dates. By using arithmetic operations on date values, you can quickly calculate date

Tipos de funciones de Fecha

Date functions enhance your ability to calculate information involving dates. This topic describes common date functions used to produce information about dates.

calculate information involving dates. This topic describes common date functions used to produce information about dates.

Common DATE functions are displayed. The functions include MONTHS_BETWEEN, ADD_MONTHS, NEXT_DAY, LAST_DAY, ROUND, and TRUNC. These functions operate on DATE datatypes and return date, datetime, or number values.

LAST_DAY, ROUND, and TRUNC. These functions operate on DATE datatypes and return date, datetime, or number

MONTHS_BETWEEN finds the number of months between two dates. The result can be positive or negative. If date1 is later than date2, the result is positive. If date1 is earlier than date2, the result is negative. The value on the right of the decimal place represents a fraction of the month.

than date2, the result is negative. The value on the right of the decimal place represents

The ADD_MONTHS function adds a number of calendar months to a specified date. The number specified in the function must be an integer and can be negative.

of calendar months to a specified date. The number specified in the function must be an

The result of using the ADD_MONTHS function to add six months to the hire date is different from adding 180 days to the hire date. You can use the ADD_MONTHS function or date arithmetic according to your needs.

from adding 180 days to the hire date. You can use the ADD_MONTHS function or date

The NEXT_DAY function returns the date of the next specified day of the week from a given date. In the function, you can specify the day of the week as a character string, such as 'Friday', or as a number with one representing Sunday and seven representing Saturday.

a character string, such as 'Friday', or as a number with one representing Sunday and seven

The LAST_DAY function finds the date of the last day of the month, for a specified date.

• The LAST_DAY function finds the date of the last day of the month, for a

You can use the ROUND and TRUNC functions with date values. When used with dates, these functions round or truncate a date value to a specified unit, such as day, month, or year.

When used with dates, these functions round or truncate a date value to a specified unit,

ROUND returns a date rounded to the unit specified. If you omit the unit, the date is rounded to the nearest day. TRUNC returns a date truncated to the unit specified. If you omit the unit, the date is truncated to the beginning of that day.

returns a date truncated to the unit specified. If you omit the unit, the date is

This topic covered the use of common date functions. The functions described represent only a subset of the total date functions available in SQL. You can use date functions to display information about dates to aid the forecasting and scheduling of dates based on date values in a database.

to display information about dates to aid the forecasting and scheduling of dates based on date

LECCIÓN V:

Funciones de Conversión de Tipos de

Datos

Objetivos

Identify datatypes used in implicit datatype

conversion.

Match the explicit datatype conversion functions with their appropriate description.

Convert a date value to a character string for display

by using the TO_CHAR function.

Convert a number to a character string for display by using the TO_CHAR function.

Identify functions used to convert characters to other datatypes.

Conversión implícita

In some instances you might require to convert one datatype to another. Oracle converts certain datatypes implicitly. In contrast, certain datatypes are needed to be explicitly converted by using the conversion functions. In this topic, you learn to identify the datatypes that can be used for implicit conversion.

the conversion functions. In this topic, you learn to identify the datatypes that can be used

The three most common datatypes used by Oracle database are NUMBER, VARCHAR2, and DATE. Oracle converts certain datatypes implicitly. For example, when a condition compares a character value and a numeric value, the Oracle database implicitly converts the character value to a NUMBER value.

a character value and a numeric value, the Oracle database implicitly converts the character value to

Alternatively, you can also explicitly convert one datatype to another. Conversion functions are used to explicitly convert the data to the expected datatype.

convert one datatype to another. Conversion functions are used to explicitly convert the data to the

Implicit datatype conversion means that the Oracle server automatically converts data from one datatype to another. However, explicit datatype conversion is recommended to ensure reliability of your SQL statements.

datatype to another. However, explicit datatype conversion is recommended to ensure reliability of your SQL statements.

Implicit datatype conversions work according to specific rules. If you write an expression in your SQL code that includes data of different types, then the Oracle server tries to resolve that difference and finds a common datatype.

includes data of different types, then the Oracle server tries to resolve that difference and finds

When comparing a character value with a NUMBER value, Oracle converts the character data to NUMBER. When comparing a character value with a DATE value, Oracle converts the character data to DATE. For example, the literal '10' has datatype CHAR. Oracle implicitly converts it to the NUMBER datatype if it appears

in a numeric expression.

has datatype CHAR. Oracle implicitly converts it to the NUMBER datatype if it appears in a

The Oracle server implicitly converts one datatype to another datatype. The Oracle server can convert the VARCHAR2 or CHAR datatype to the NUMBER or DATE datatype. Alternatively, the server can also convert the NUMBER or DATE datatype to the VARCHAR2 datatype.

NUMBER or DATE datatype. Alternatively, the server can also convert the NUMBER or DATE datatype to

Implicit character to number conversions succeed only if the character string represents a valid number. Implicit character to date conversions succeed only if the character string has a specified default format, such as DD-MON-RR.

character to date conversions succeed only if the character string has a specified default format, such

In this topic, you learned to identify the datatypes that can be implicitly converted by the Oracle server. By knowing about these datatypes you need not convert them explicitly.

can be implicitly converted by the Oracle server. By knowing about these datatypes you need not

Conversión explícita

You convert datatypes explicitly to ensure the reliability of the SQL statements. In this topic, you learn to match the explicit datatype conversion functions with their uses.

of the SQL statements. In this topic, you learn to match the explicit datatype conversion functions

You can explicitly convert a value from one datatype to another by using the conversion functions in a statement. Generally, the function names follow the convention DATATYPE TO DATATYPE. The first datatype is the input datatype and the last datatype is the output.

follow the convention DATATYPE TO DATATYPE. The first datatype is the input datatype and the last

You can perform explicit datatype conversion between the most common datatypes by using three functions available in SQL. These functions convert a value from one datatype to another. The conversion functions are TO_NUMBER, TO_DATE, and TO_CHAR.

functions convert a value from one datatype to another. The conversion functions are TO_NUMBER, TO_DATE, and

The TO_CHAR conversion function converts a number or date to a VARCHAR2 character string with the format model that you specify. In the syntax displayed, the format model is represented by FMT. A format model

is a character literal that describes the format of DATE or NUMBER data.

model is represented by FMT. A format model is a character literal that describes the format

If you use the TO_CHAR function for number conversion, the NLSPARAMS parameter specifies decimal character, group separator, local currency symbol, and international currency symbol that are returned by number format elements. If the parameter is omitted, this function uses the default parameter values.

that are returned by number format elements. If the parameter is omitted, this function uses the

In the case of date conversion, the NLSPARAMS parameter of the TO_CHAR function specifies the language in which month and day names, and abbreviations are returned. If this parameter is omitted, the function uses the default date languages.

and day names, and abbreviations are returned. If this parameter is omitted, the function uses the

The TO_NUMBER conversion function converts a character string containing digits to a number with an optional format that you specify. In the syntax displayed, the optional format model is represented by FMT. The NLSPARAM string has the same purpose as it does in the TO_CHAR function for number conversions.

is represented by FMT. The NLSPARAM string has the same purpose as it does in the

The TO_DATE conversion function converts a character string to a date value according to a format that you specify. If you do not specify a format, the default format DD-MON-RR is assumed and the character string must match that format. The NLSPARAM has the same purpose as in the TO_CHAR function for date

conversion.

character string must match that format. The NLSPARAM has the same purpose as in the TO_CHAR

In this topic, you learned to match the datatype conversion functions with their uses. You can use these functions in SQL statements to communicate explicitly with the Oracle server about how to interpret data.

can use these functions in SQL statements to communicate explicitly with the Oracle server about how

Funcion TO_CHAR con fechas

You can use the TO_CHAR function to convert a date from the default date format to a character format that you specify. This topic describes how to use the TO_CHAR function with dates.

date format to a character format that you specify. This topic describes how to use the

The common default format for displaying dates stored in the Oracle9i server is DD-MON-RR. If you want to display dates in a different format, you can use the TO_CHAR function to convert a date into a specified character format.

display dates in a different format, you can use the TO_CHAR function to convert a date

In the example displayed, the TO_CHAR function identifies the month in which the employees were hired. The first parameter to the TO_CHAR function is the HIRE_DATE column. The second parameter is the format model. The format model specifies the way that you want the date to look when displayed.

second parameter is the format model. The format model specifies the way that you want the

Many format models are available. You are already familiar with the default format DD-MON-YY, which is one example of a format model.

models are available. You are already familiar with the default format DD-MON-YY, which is one example

The format model can include any valid date format element. The common format model elements are displayed. They are YYYY, YEAR, MM, MONTH, MON, DY, and DAY. You can combine these elements into a

format model of your choice.

They are YYYY, YEAR, MM, MONTH, MON, DY, and DAY. You can combine these elements into

There are many valid date formats that you can use to create a date format model. Format model elements representing days and weeks are displayed. They are WW or W, DDD or DD or D, and J.

format model. Format model elements representing days and weeks are displayed. They are WW or W,

The elements of format models related to years and month are displayed. These include SCC or CC, RM, YYY or YY or Y, Y,YYY, IYYY or IYY or IY or I, B.C., A.D., and Q.

and month are displayed. These include SCC or CC, RM, YYY or YY or Y, Y,YYY,

When you specify a format model in the TO_CHAR function, you enclose the format model in single quotation marks. The format model is case sensitive and can include any valid date format element. You separate the date value from the format model with a comma.

sensitive and can include any valid date format element. You separate the date value from the

To display hire dates with the month spelled out, you can use the MONTH format element with the TO_CHAR function. In the result, the full name of the month is displayed such as SEPTEMBER or FEBRUARY.

element with the TO_CHAR function. In the result, the full name of the month is displayed

You can add the day of the week by including the DAY element in the format model. You can also add a comma to separate the day of the week from the rest of the date. You specify punctuation by simply adding the desired punctuation to the format model. The screen displays the first set of records.

punctuation by simply adding the desired punctuation to the format model. The screen displays the first

The window has been scrolled down for you. You can view the full name of the day, followed by a comma and the rest of the date information. The names of days and months in the output are automatically padded with blanks. To remove padded blanks or suppress leading zeros, you use the fill mode element, FM.

automatically padded with blanks. To remove padded blanks or suppress leading zeros, you use the fill

You can change the case of the names of days and months by changing the case in the format element. The SQL statement on the screen capitalizes the first letter of the name of the day and the month as indicated in the TO_CHAR function. You can view the first set of records.

letter of the name of the day and the month as indicated in the TO_CHAR function.

The Oracle server stores a time element with dates in its internal format. The time element is not part of the default date display. However, you can include time elements in a date format model using TO_CHAR to display time information. Common time elements are displayed. They are AM or PM, A.M. or P.M., HH or

HH12 or HH24, MI, SS, and SSSSS.

information. Common time elements are displayed. They are AM or PM, A.M. or P.M., HH or

You can add the TH suffix in the format model to display ordinal numbers, such as 4th. You can spell out a number using the SP suffix. You can use these suffixes in combination to produce spelled-out ordinal numbers,

such as FOURTH.

using the SP suffix. You can use these suffixes in combination to produce spelled-out ordinal numbers,

You can add character strings to a date format model by enclosing them in double quotation marks in the date format model. For example, you can display FOURTH of JULY as an output. Remember to add the FM element to your format model to suppress blanks and leading zeros.

FOURTH of JULY as an output. Remember to add the FM element to your format model

This topic described how to convert a date value to a character string by using the TO_CHAR function. You can use the TO_CHAR datatype conversion function to display dates in a wide variety of formats.

the TO_CHAR function. You can use the TO_CHAR datatype conversion function to display dates in a

Funcion TO_CHAR con números

You can use the TO_CHAR datatype conversion function to convert other datatype values to characters. This topic describes how to convert a number to a character string by using the TO_CHAR function.

values to characters. This topic describes how to convert a number to a character string by

You can customize the display of numeric values by converting number values to character strings using the TO_CHAR function. The TO_CHAR function translates a number value to a character string and displays the result in a format that you specify.

The TO_CHAR function translates a number value to a character string and displays the result in

In the example displayed, the TO_CHAR function accepts two arguments. First is the column SALARY. The second argument is the format model that you use to display the salary value.

arguments. First is the column SALARY. The second argument is the format model that you use

Common format model elements for converting a number to a character datatype are displayed. The element 9 represents a digit and 0 displays leading zeros. The element $ places a floating dollar sign. The period displays a decimal point, and the comma displays the thousand indicator.

$ places a floating dollar sign. The period displays a decimal point, and the comma displays

The Oracle server displays a string of # symbols in place of a number that is larger than the number of digits provided in the format model. For example, if you specified only two digits in the format model for displaying salaries, the result displays # symbols as indicated.

if you specified only two digits in the format model for displaying salaries, the result displays

Additional format model elements are displayed on the screen. The MI and PR offer two alternatives for displaying negative values. Four Es are used to display information in scientific notation, and a V is used to multiply values by a specified power of 10. You can use a B to display zero values as blanks, rather than as zeros.

to multiply values by a specified power of 10. You can use a B to display

This topic discussed the conversion of a number to a character string by using the TO_CHAR function. You can use the TO_CHAR datatype conversion function to display numbers in whatever format you specify.

TO_CHAR function. You can use the TO_CHAR datatype conversion function to display numbers in whatever format

Otras Funciones de conversión

You may want to convert a character string to either a number or a date. To perform this task, you use the TO_NUMBER or TO_DATE functions. In this topic, you learn about the TO_NUMBER and TO_DATE datatype conversion functions.

TO_NUMBER or TO_DATE functions. In this topic, you learn about the TO_NUMBER and TO_DATE datatype conversion

To convert a character string to a number, you use the TO_NUMBER function. You specify two input arguments in the function. First is the character string that you want to convert and second is an optional format model. The format model provides information about how to interpret the character string.

and second is an optional format model. The format model provides information about how to interpret

For example, you have a character string representing a number value, such as revised salary in the format $4, 850. If you try to evaluate this character string as a number, you receive an error message.

salary in the format $4, 850. If you try to evaluate this character string as a

To compare this column of character values to the SALARY column of NUMBER datatype, you must use the TO_NUMBER function. The statement displayed uses the TO_NUMBER function in the WHERE clause to convert the characters into numbers before comparing the resulting values to those in the SALARY column.

WHERE clause to convert the characters into numbers before comparing the resulting values to those in

You use the TO_DATE function to convert a character string to a date format. This function accepts two arguments.

• You use the TO_DATE function to convert a character string to a date format. This

As arguments to the TO_DATE function, you insert the character string that you want to convert, followed by a format model. The format model provides information about how to interpret the character string. You use the same format model elements used with the TO_CHAR function.

about how to interpret the character string. You use the same format model elements used with

For example, you have a character string representing a date value, in the format April 24, 2000. If you try to compare this character string to a date value, such as an employee's hire date, you receive an error message.

try to compare this character string to a date value, such as an employee's hire date,

To compare this string of characters to the HIRE_DATE column, you must use the TO_DATE function. The example displays employees who were hired on April 21, 2000. The TO_DATE function converts the character string into a date before comparing the resultant value to those in the HIRE_DATE column.

function converts the character string into a date before comparing the resultant value to those in

This topic described how to convert character values to NUMBER or DATE datatypes by using datatype conversion functions. You can use these conversion functions to convert a value of one datatype to another.

using datatype conversion functions. You can use these conversion functions to convert a value of one

LECCIÓN VI:

Funciones generales y expresiones

CASE

Objetivos

Convert a null value to an actual value for display by using the

NVL function.

Return an expression based on the evaluation of NULL value by using the NVL2 function.

Compare two expressions by using the NULLIF function.

Compare multiple expressions by using the COALESCE function.

Implement conditional processing by using the CASE expression.

Decode an expression using the DECODE function.

Evaluate single-row functions that are nested.

Función NVL

You use the NVL function to convert a NULL value to an actual value. In this topic, you learn to display actual values in place of NULL values by using the NVL function.

to an actual value. In this topic, you learn to display actual values in place of

You use the NVL function to convert a null value in a column of any datatype into an actual value for display purposes. The NVL function has two arguments: expr1 is the source value or expression that may contain NULL, and expr2 is the target value or the result.

two arguments: expr1 is the source value or expression that may contain NULL, and expr2 is

The arguments expr1 and expr2 can have any datatype. If their datatypes are different Oracle converts expr2 to the datatype of expr1 before comparing them. The datatype of the return value is always the same as the datatype of expr1.

the datatype of expr1 before comparing them. The datatype of the return value is always the

The SQL statement displayed calculates the annual compensation of all employees by multiplying the monthly salary by 12 and adding the commission. The annual compensation will be calculated only for those employees who earn commission.

by 12 and adding the commission. The annual compensation will be calculated only for those employees

In the result, the annual compensation for the employees is blank because their commission is NULL. An expression with any column value of NULL results in NULL. The screen has been scrolled down for you to view the records.

expression with any column value of NULL results in NULL. The screen has been scrolled down

This topic described how to convert null values to actual values by using the NVL function. You can use this function when displaying data from columns that may contain null values.

by using the NVL function. You can use this function when displaying data from columns that

This topic described how to convert character values to NUMBER or DATE datatypes by using datatype conversion functions. You can use these conversion functions to convert a value of one datatype to another.

using datatype conversion functions. You can use these conversion functions to convert a value of one

Función NVL2

You use the NVL2 function to evaluate whether a column is NULL and return a value based on this result. In this topic, you learn to use the NVL2 function to return an expression based on the evaluation of NULL value.

result. In this topic, you learn to use the NVL2 function to return an expression based

The NVL2 function accepts three expressions. The function initially examines the first expression. If the first expression is not null, then the function returns the second expression. If the first expression is null, then the third expression is returned.

then the function returns the second expression. If the first expression is null, then the third

The first expression in the NVL2 function can have any datatype. The second and the third expressions can have any datatype except LONG. If the datatypes of expr2 and expr3 are different, the Oracle server converts expr3 to the datatype of expr2 before comparing them. If expr3 has a null value, no conversion is

performed by Oracle.

expr3 to the datatype of expr2 before comparing them. If expr3 has a null value, no

The datatype of the return value is always the same as the datatype of the second expression. If the second expression is a character data, the return value's datatype is VARCHAR2.

of the second expression. If the second expression is a character data, the return value's datatype

In the example displayed, you examine the COMMISSION_PCT column. If a value is detected, the second expression of Earns Commission is returned. If the COMMISSION_PCT column holds null values, the third expression of No Commission is returned.

Commission is returned. If the COMMISSION_PCT column holds null values, the third expression of No Commission

The example code is executed. The screen has been scrolled down for you to view the first few records. Notice that the result displays the expression No Commission or Earns Commission based on the evaluation of the commission earned by the employees.

the expression No Commission or Earns Commission based on the evaluation of the commission earned by