![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como concatenar numeros y caracteres con sql
b. tardes a todos, tengo una duda de como concatenar en una consulta sql numeros y caracteres, se que en fb es con || pero lo que no se es si es como sqlserver que los numero se convierten en caracter primero por decir, lo que mas nos convenga para relacionar entre tablas.
Por ejemplo, tengo dos tablas que deben relacionarse entre si: una es tablauno.campoid definida como entero tablados.campoidentificado definida como char(2) realizando el inner join lo que hare es left join a on || + '0' + || a.id=b.identificador Me arroja un error, cual seria lo correcto, o como convierto el numero como caracter. Gracias |
#2
|
||||
|
||||
¿Y el error es...?
Debes usar cast(loquesea as tipoquequieras)
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
Aquí creo que te sobra el primer par de ||
Debería ser así:
De todos modos, si a.id es mayor que 9, al concatenarle un 0 delante será demasiado grande como para caber en un char(2). Luego estarás comparando '010' con '10'. Supongo que una mejor opción (siempre que los valores de b.identificador sean SIEMPRE numéricos) es comparar números.
|
#4
|
|||
|
|||
buenas tardes, si pongo demasiadas concatenaciones con el signos de mas(+) me da error, " left join a on || + '0' + || a.id=b.identificador " lo que hice es:
left join a on '0' || a.id=b.identificador es correcto o bien como comentan es usar el cast de esta forma: left join a on cast(a.id as integer)=b.identificador Muchas gracias Por cierto el error lo comparto y uso una aplicacion que se llama DBeaver (es free), lo malo es que no me permite hacer backup o restaurar la BD: SQL Error [335544569] [42000]: GDS Exception. 335544569. Dynamic SQL Error SQL error code = -104 Token unknown - line 11, column 40 || GDS Exception. 335544569. Dynamic SQL Error SQL error code = -104 Token unknown - line 11, column 40 || Dynamic SQL Error SQL error code = -104 Token unknown - line 11, column 40 || |
#5
|
||||
|
||||
El signo + no debes ponerlo.
El doble signo || hace las veces del + O sea, que en SQL, la concatenación es con || y no con +
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
||||
|
||||
Cita:
El error es que no reconoce ||. Como no has puesto el código que utilizaste, no podemos ayudarte mas. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Separar caracteres y números en report manager | Romii | Impresión | 0 | 31-07-2014 15:16:07 |
Sacar números de cadenas de caracteres. | McK | Varios | 14 | 03-12-2010 21:24:31 |
como concatenar y desconcatenar | UREÑA | Conexión con bases de datos | 7 | 19-04-2007 23:40:43 |
MaskEdit acepta sólo Caracteres y números???? | AGAG4 | Varios | 9 | 17-11-2005 20:35:39 |
Buscar en una string todo lo que no sean caracteres A-Z y numeros 0-9 | DarkByte | Varios | 13 | 03-12-2004 08:40:37 |
![]() |
|