FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Ayuda con la función Right
Hola, estoy intentando devolver el valor de un campo con ceros a la izquierda hasta completar una longitud de 12 caracteres.
Para ello hago: SELECT Right('0000000000000' + Nombre_campo, 12 ) FROM ... El problema creo que es que, aunque Nombre_campo es de tipo char(13), contiene valores numéricos y en lugar de concatenar los ceros realmente esta sumando valores, con lo que me devuelve el mismo valor que había almacenado. Ejemplo: Nombre_campo = '53' -> me devuelve 53 Nombre_campo = '54' -> me devuelve 54 ... ¿Alguien me puede decir que estoy haciendo mal? Muchísimas gracias |
#2
|
|||
|
|||
Ya está solucionado!!!
La función Right funciona Ok, el problema lo tenía yo con el campo, ya que el valor estaba completado con espacios en blanco hasta llegar a la longitud máxima con lo que el Right no hacía nada. |
#3
|
|||
|
|||
Hola, tengo un problema con la funcion right en FireBird. Hago lo mismo que Javi2 para completar con ceros una variable pero me marca error de sintaxis en right. ¿Podría ser que tengo una version de firebird en la que no se permite?.
Favor si alguien puede ayudarme se lo agradeceria. Recien tengo dos semanas en firebird asi que no conozco mucho los errores, soy full SQL Server asi que si alguien necesita ayuda ahi, aqui estare. Saludos Oscar |
#4
|
|||
|
|||
hola Oscar
Yo trabajo firebird 2.0 y tampoco me funciona, no se si las proximas versiones lo tenga, lo hice de la siguiente forma Código SQL [-]select substring('000000000000000'||trim(codigo) from char_length('000000000000000'||trim(codigo))-15 for 15) as codigo15 from tabla el numero 15 es la cantidad de ceros que se adicionan, en mi caso necesitaba que el dato fuera de 15 caracteres es un poco manual pero me funciona |
#5
|
|||
|
|||
gracias por la ayuda. Voy a probarlo y te estare comentando. Adicionalmente, en caso tenga el dato en una variable podria hacer lo mismo, es decir, tengo mi dato en una variable a=1, y quisiera tener '00001'. ¿Puedo hacerlo directamente sin necesidad de referenciar una tabla?
GRacias nuevamente. Oscar |
#6
|
|||
|
|||
Gracias por la ayuda, no me funciono pero me dio la pista. Instale una UDF que contenia algunas funciones que me fueron de mucha ayuda para solucionar este impasse.
Saludos Oscar |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Función Last | Triton | Firebird e Interbase | 2 | 25-05-2005 18:46:50 |
Ayuda con funcion Format | JulioGO | Varios | 1 | 12-05-2005 03:00:05 |
Ayuda con la función GetFileVersionInfoSize | jaderl | API de Windows | 1 | 01-02-2005 20:14:14 |
Ayuda con una función | McRight2k | Varios | 1 | 13-08-2003 22:47:04 |
ayuda con sql y la funcion suma | romfrost13 | Firebird e Interbase | 1 | 04-08-2003 21:46:43 |
|