Databases

T01-007-03 Funciones de cadenas, que devuelven números

Enunciado

A continuación se muestran una tabla con funciones de cadenas de caracteres que, en esta ocasión, devuelven un resultado numérico.

Función

Descripción

ASCII (cad)

Devuelve el valor ASCII del primer carácter de cad.

INSTR (cad1, cad2, [, comienzo [, n] ] )

Devuelve la posición n-ésima de cad2 en cad1 comenzando por ‘comienzo’.

LENGTH (cad)

Devuelve el número de caracteres de cad.

La lista completa de funciones la podéis obtener de la documentación de Funciones de cadenas que devuelven números en Oracle.

Ejemplo:

La función INSTR(cad1, cad2, [, comienzo ] ) devuelve la posición en la que comienza la cadena cad2 dentro de cad1. Si se le envía un comienzo como argumento la función únicamente buscará coincidencias a partir de esa posición de cad1.

La siguiente sentencia muestra las direcciones en las que en el nombre de la calle aparece la cadena 'St' a partir de la posición 14:

SELECT STREET_ADDRESS, CITY, COUNTRY_ID
FROM HR.locations
WHERE INSTR(STREET_ADDRESS, 'St', 14) > 0

STREET_ADDRESS CITY COUNTRY_ID
6092 Boxwood St Whitehorse CA
12-98 Victoria Street Sydney AU

Ejercicio:

Combina SUBSTR() e INSTR() para mostrar las direcciones de Italia ('IT') a las que se les ha eliminado el número inicial, es decir, a partir del primer espacio.

Ordena el resultado alfabéticamente por la dirección de la calle.

Tipo

SELECT

Solución


												
SELECT STREET_ADDRESS, SUBSTR(STREET_ADDRESS, INSTR(STREET_ADDRESS, ' ') + 1) FROM HR.locations WHERE COUNTRY_ID = 'IT' ORDER BY STREET_ADDRESS

Prueba


											

Librerías (Onfly databases)