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 cadenacad2dentro decad1. Si se le envía uncomienzocomo argumento la función únicamente buscará coincidencias a partir de esa posición decad1.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()eINSTR()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
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)

