Autor
|
Tema: Sentencia SQL (Leído 5,239 veces)
|
rubcr
Desconectado
Mensajes: 51
|
Buenas a todos. Tengo un problema con una sentencia, la cual tiene que obtener la latitud y longitud de todas las antenas de la 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.
|
|
« Última modificación: 28 Abril 2020, 21:17 pm por rubcr »
|
En línea
|
|
|
|
Carloswaldo
Traductor
Moderador Global
Desconectado
Mensajes: 4.764
Nos reservamos el derecho de ban.
|
¿De qué motor de base de datos estamos hablando?
Me parece que LIKE no es para expresiones regulares. Al menos no lo es en PostgreSQL donde usaría SIMILAR TO o '~'.
|
|
|
En línea
|
|
|
|
rubcr
Desconectado
Mensajes: 51
|
¿De qué motor de base de datos estamos hablando?
Me parece que LIKE no es para expresiones regulares. Al menos no lo es en PostgreSQL donde usaría SIMILAR TO o '~'.
En HeidiSql
|
|
|
En línea
|
|
|
|
|
rubcr
Desconectado
Mensajes: 51
|
Entonces atendiendo a las sentencias que has escrito para mi sería válida la segunda de ellas?
|
|
|
En línea
|
|
|
|
Carloswaldo
Traductor
Moderador Global
Desconectado
Mensajes: 4.764
Nos reservamos el derecho de ban.
|
Entonces atendiendo a las sentencias que has escrito para mi sería válida la segunda de ellas?
La segunda es para SQL Server. En HeidiSql
HeidiSql no es el motor, es un programa para conectarse a un motor de base de datos. Aunque muy probablemente estamos hablando de MySQL (o derivados) entonces. Si es así tendrías que usar la 1era sentencia que mostró EdePC.
|
|
|
En línea
|
|
|
|
rubcr
Desconectado
Mensajes: 51
|
La segunda es para SQL Server.
HeidiSql no es el motor, es un programa para conectarse a un motor de base de datos. Aunque muy probablemente estamos hablando de MySQL (o derivados) entonces. Si es así tendrías que usar la 1era sentencia que mostró EdePC.
Y en el caso por ejemplo que fuera que la provincia no empezase ni acabase por consonante como sería la sintaxis?
|
|
|
En línea
|
|
|
|
EdePC
|
Le has dado su leída al PDF que puse antes (pág.: 176)? Tienes que combinar ^ para forzar empezar con, [aeiou] que serán las vocales, luego un .* para decir cualquier otro conjunto de caracteres y finalizar con [aeiou]$ para decir que debe terminar en vocalRLIKE '^[aeiou].*[aeiou]$'
|
|
|
En línea
|
|
|
|
rubcr
Desconectado
Mensajes: 51
|
Le has dado su leída al PDF que puse antes (pág.: 176)? Tienes que combinar ^ para forzar empezar con, [aeiou] que serán las vocales, luego un .* para decir cualquier otro conjunto de caracteres y finalizar con [aeiou]$ para decir que debe terminar en vocalRLIKE '^[aeiou].*[aeiou]$'
De acuerdo muchas gracias amigo. Ahora tengo cuestión: siendo C el numero de ciudades de la tabla y P el numero de provincias devuelve la diferencia entre los dos valores. Entiendo que hay que hacer una sentencia que cuente el numero de ciudades, el numero de provincias y que se resten los dos valores, pero no entiendo como puedo hacerlo.
|
|
|
En línea
|
|
|
|
EdePC
|
Depende del contexto del ejercicio, como que instrucciones permite utilizar, si se puede usar variables o subconsultas, etc Teniendo en cuenta que en MySQL es válido hacer una simple resta de 2-5 para obtener -3 (pág.: 596 del PDF): SELECT 2 - 5
- Se pueden hacer subconsultas como se indica en la pág.: 596 en adelante: SELECT ABS( ( SELECT COUNT(*) FROM ciudades) - ( SELECT COUNT(*) FROM provincias) )
- El ABS() es para obtener siempre un número positivo (pág.: 597) Pero dado que tu ejercicio menciona un C y un P, debe hacer uso de algo más, quizá variables (pág.: 510)
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Sentencia SQL
Bases de Datos
|
TheGhost(Z)
|
2
|
3,190
|
6 Marzo 2011, 17:35 pm
por raul338
|
|
|
Sentencia Goto en Php , Salto de sentencia en Php
PHP
|
Graphixx
|
3
|
3,995
|
24 Mayo 2012, 17:46 pm
por Graphixx
|
|
|
Sentencia sql
Bases de Datos
|
thebus4k
|
1
|
2,340
|
8 Mayo 2020, 18:58 pm
por ThunderCls
|
|
|
Uso de la sentencia MAX() en UDF
Bases de Datos
|
CarlosGPT
|
0
|
3,573
|
16 Mayo 2022, 18:40 pm
por CarlosGPT
|
|
|
sentencia switch
Programación C/C++
|
Dumy
|
1
|
2,008
|
1 Octubre 2024, 15:22 pm
por AlbertoBSD
|
|