Bases de Datos - Sentencia Sql

 
Vista:
sin imagen de perfil
Val: 5
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Sentencia Sql

Publicado por Daniel (3 intervenciones) el 28/04/2020 21:24:16
Buenas a todos.
Tengo un problema con una sentencia, la cual tiene que obtener la latitud y longitud de todas las antenas de las provincias que empiecen por vocal.

La selección que tengo es la siguiente:
SELECT lat, long FROM antena_telefonicas WHERE provincia LIKE '[aeiou]%';

El problema es que no me devuelve ningún dato, la sentencia no genera ningún error, pero no da datos.
El problema creo que está en el LIKE pero no sé cuál es.

Espero que alguien sepa ayudarme.
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Sentencia Sql

Publicado por Juan (3 intervenciones) el 29/04/2020 01:17:30
estimado daniel,
dependiendo de la base de datos, te dara distintas formas de obtener lo que necesitas.
es probable que tengas normalizar tu base de datos ya que no te recomendaría dejarlo de esa forma.

en sqlserver te permite hacer esto.
forma 1

1
2
3
4
5
6
SELECT lat, long FROM ANTENA_TELEFONICAS
WHERE PROVINCIA LIKE 'a%'
   OR PROVINCIA LIkE 'e%'
   OR PROVINCIA LIkE 'i%'
   OR PROVINCIA LIkE 'o%'
   OR PROVINCIA LIkE 'u%'

forma 2
1
2
select  lat, long  from antena_telefonicas
   where SUBSTRING(provincia, 1, 1) in ('a', 'e', 'i', 'o', 'u')

quizás hay muchas mas formas, ve si puedes mejorar el tema de entrar a hacer la consulta con una vocal... si esto esta como en vias de desarrollo te aconcejaria mejorarlo si o si.

exito suerte en todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vega
Val: 28
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Sentencia Sql

Publicado por Vega (13 intervenciones) el 06/05/2020 22:10:37
Hola Daniel,
Dependiendo de la colación que tenga la columna o la base de datos puede que las minúsculas sean el problema, sustituye esto a ver si mejora:

1
WHERE upper(provincia) LIKE '[AEIOU]%';
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar