Saltar al contenido

Consulta SQL para verificar si un nombre comienza y termina con una vocal

La guía paso a paso o código que verás en este post es la resolución más fácil y válida que hallamos a tus dudas o dilema.

Solución:

Podrías usar una expresión regular:

SELECT DISTINCT city
FROM   station
WHERE  city RLIKE '^[aeiouAEIOU].*[aeiouAEIOU]$'

en Servidor SQL de Microsoft puede lograr esto desde la siguiente consulta:

SELECT distinct City FROM STATION WHERE City LIKE '[AEIOU]%[AEIOU]'

O

SELECT distinct City FROM STATION WHERE City LIKE '[A,E,I,O,U]%[A,E,I,O,U]'

Actualización: consulta de Oracle agregada

–Forma 1 –Debería funcionar en todas las versiones de Oracle

SELECT DISTINCT CITY FROM STATION WHERE REGEXP_LIKE(LOWER(CITY), '^[aeiou]') and  REGEXP_LIKE(LOWER(CITY), '[aeiou]$');

–Forma 2 –puede fallar en algunas versiones de Oracle

SELECT DISTINCT CITY FROM STATION WHERE REGEXP_LIKE(LOWER(CITY), '^[aeiou].*[aeiou]');

–Forma 3 –puede fallar en algunas versiones de Oracle

SELECT DISTINCT CITY FROM STATION WHERE REGEXP_LIKE(CITY, '^[aeiou].*[aeiou]', 'i');

Usa una expresión regular.

WHERE name REGEXP '^[aeiou].*[aeiou]$'

^ y $ ancla la coincidencia al principio y al final del valor.

En mi prueba, esto no usará un índice en el name columna, por lo que tendrá que realizar un análisis completo, como lo haría

WHERE name LIKE 'a%a' OR name LIKE 'a%e' ...

Creo que para que use un índice, necesitaría usar una unión de consultas que prueben la primera letra.

SELECT * FROM table
WHERE name LIKE 'a%' AND name REGEXP '[aeiou]$'
UNION
SELECT * FROM table
WHERE name LIKE 'e%' AND name REGEXP '[aeiou]$'
UNION
SELECT * FROM table
WHERE name LIKE 'i%' AND name REGEXP '[aeiou]$'
UNION
SELECT * FROM table
WHERE name LIKE 'o%' AND name REGEXP '[aeiou]$'
UNION
SELECT * FROM table
WHERE name LIKE 'u%' AND name REGEXP '[aeiou]$'

Reseñas y calificaciones del post

Si crees que te ha sido de utilidad este artículo, sería de mucha ayuda si lo compartieras con el resto juniors así contrubuyes a difundir nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *