![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Error en una condición con CAST
Tengo una base de datos en FB 2.5. Dos de las tablas son: provincias, que únicamente contiene dos valores (Codigo SMALLINT y Nombre VARCHAR), y poblaciones que tiene, entre otros campos, el nombre y el código postal, ambos VARCHAR. En la tabla de provincias tengo declarada una fila con el código 99 y el nombre PROVINCIA DESCONOCIDA.
Estoy tratando de sacar las poblaciones con este query: Código PHP:
Cita:
|
#2
|
||||
|
||||
Está un poco confuso, ¿exactamente qué quieres conseguir?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
Pero, vamos, que el problema es que hay un cpostal en blanco:
Código:
13 14828 CINCO CASAS ES ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 24-04-2018 a las 13:46:31. |
#4
|
||||
|
||||
Como dice Casimiro, tienes un código postal en blanco.
Prueba concantenando '0' antes del código postal para que por lo menos tenga un 0. Obviamente fallará si tienes letras en ese campo.
|
#5
|
||||
|
||||
Gracias por vuestras ideas.
Sobre lo del código postal en blanco: Vale. El ejemplo que ha puesto Casimiro es real: En esa tabla está ese municipio sin código postal, pero imagina que la carga desde un fichero externo TXT pone, por error, código postales que empiezan por 75 en lugar de 45. Para eso me hace falta ese query. Cita:
Cita:
![]() |
#6
|
||||
|
||||
Cita:
Código PHP:
Cita:
|
#7
|
||||
|
||||
Otra cosa, y perdón por el barullo de mensajes: Me valdría peferctamente al revés:
Código PHP:
|
#8
|
||||
|
||||
La verdad es que no se entiende bien lo que pretendes, por eso te preguntaba antes:
Cita:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#9
|
|||
|
|||
Hola a todos,
Cita:
Código PHP:
Un saludo |
#10
|
||||
|
||||
Perdón, el ejemplo que di anteriormente no estaba del todo bien.
Debes concatenar el 0 al resultado del substring y no antes: Me explico
|
#11
|
||||
|
||||
Pequeño detalle, gran solución
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#12
|
||||
|
||||
Perdón por no haber contestado antes. Busco todas aquellas localidades que por error u omisión tengan mal puesto el código postal. En España estos van desde el 01xxx al 52xxx; eso lo que busco. Como las dos primeras posiciones coinciden con el código provincial, bsuco códigos postales que no coincidan con ese patrón.
|
#13
|
||||
|
||||
Vale. Acabo de hacer sendas pruebas con los códigos propuestos por bucanero y duilioisola y, aparentemente, ambos funcionan correctamente. Muchísimas gracias a todos por vuestra ayuda. Ya sé que soy un pelín paliza.
![]() |
#14
|
||||
|
||||
Cita:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#15
|
||||
|
||||
En España sí. Las dos primeras posiciones del código postal indican la provincia por orden alfabético: 28 es Madrid, 33 Asturias (por Oviedo), 45 Toledo, etc.
|
#16
|
||||
|
||||
Cita:
Tienes en la tabla poblacion los campos codprv y cpostal, que se suponen que son el código de la provincia (enlaza con campo codigo en tabla provincia) y tienes el campo cpostal, entonces en la tabla poblacion, todos los cpostal deberán iniciar con los mismos valores que codprv, ¿es así? Es que entonces puedes buscar diferencias entre esos campos, algo más o menos así:
Código:
CODPRV CPOSTAL 13 00000 13 43518 13 15177 13 44155 13 36330
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#17
|
||||
|
||||
Cita:
En un principio la aplicación se pensó para poder acumular las bases de datos de distintas provincias y ese campo sirve para distinguir el origen de los datos; el probelma es que las bases de datos no estan conectadas y cada provincia tiene la suya propia. Por ejemplo: Tanto en Ciudad Real (13) como en Toledo (45) pueden tener una misma población pero con distinto código. Digamos que en ambas provincias tienen grabado en el fichero de poblaciones a Toledo, pero en Ciudad Real tiene el código 2 y en Toledo el 1. Ese código está asociado en varias tablas (como puede ser la de personas), pero al acumular todas las bases de datos en una única necesito que viajen todos los datos para poder localizarlos, independientemente del origen de los mismos. Sé que no es un buen sistema, que lo suyo sería una única base de datos conectada vía internet pero se resisten de una forma tremenda a "perder" el control de "sus" datos. |
#18
|
||||
|
||||
Hay tres tablas (bancos, provincias y países) que no tiene esa columna porque todas ellas son iguales en cualquier instalación. Por ejemplo: al margen de la provincia que gestione los datos, la entidad bancaria de código 0049 dentro de España siempre será el Banco de Santander o la provincia 28 siempre será Madrid.
|
#19
|
||||
|
||||
Gracias por la aclaración
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#20
|
||||
|
||||
sin mayor probelma. Gracias a vosotros por vuestra inapreciable ayuda.
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
'Cast' basado en un arreglo. | TiammatMX | OOP | 9 | 09-08-2013 12:46:05 |
Error: Valor de carácter no valido para especificacion cast'. | Tauro78 | MS SQL Server | 3 | 20-03-2009 20:00:56 |
Sysdate y Cast MYSQL | elisa44 | SQL | 0 | 04-07-2006 02:15:14 |
Consulta Cast | marceloalegre | SQL | 4 | 10-06-2005 17:30:46 |
Cast a un Blob | Triton | Firebird e Interbase | 0 | 20-02-2004 09:49:53 |
![]() |
|