Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Largo devuelto por campos Char en Interbase 6.0 (https://www.clubdelphi.com/foros/showthread.php?t=15895)

senpiterno 08-11-2004 23:04:50

Largo devuelto por campos Char en Interbase 6.0
 
Hola amigos....

Mi problema es es siguiente, me he dado cuenta que cuando se rescatan datos de una tabla, mas especificamente de algun campo de tipo Char, el motor de base de datos devuelve el total de caracteres de un campo, no importando si el campo tiene el total de caracteres ocupados o no. Para muestra un boton..
por ejempo si tengo declarado en la base lo siguiente:

Código SQL [-]
CREATE TABLE USUARIOS (
CODIGOUSUARIO CHAR(10) CHARACTER SET NONE NOT NULL
Vamos a suponer que a CODIGOUSUARIO le asignamos el valor 'U325', hasta aqui todo bien, pero al recuperar ese valor el campo devuelve lo siguiente:

Usuarios.CodigoUsuario='U325_______'
(los _ representan espacios, ya el editor del foro suprime los espacios en blanco a la derecha de los caracteres)
Es decir completa lo que no esta ocupado con espacios

Existe alguna forma de evitar que suceda esto y solo devuelve lo que realmente esta ocupado, sin espacios.....

Saludos

kinobi 08-11-2004 23:08:19

Hola,

Cita:

Empezado por senpiterno
Es decir completa lo que no esta ocupado con espacios

Ese es el comportamiento esperado del tipo de datos CHAR.

Cita:

Empezado por senpiterno
Existe alguna forma de evitar que suceda esto y solo devuelve lo que realmente esta ocupado, sin espacios.....

Utilizar el tipo de datos VARCHAR (CHAR VARiable) en vez de CHAR.

Saludos

senpiterno 08-11-2004 23:13:29

Gracias kinobi, por tu pronta respuesta, pero me podrias explicar porque sucese esto con los datos de tipo Char...

Saludos

kinobi 08-11-2004 23:19:29

Hola,

Cita:

Empezado por senpiterno
Gracias kinobi, por tu pronta respuesta, pero me podrias explicar porque sucese esto con los datos de tipo Char...

Ese es el comportamiento que le han dado los comités que fijan los estándares SQL. Los tipos CHAR y VARCHAR (o VARING CHAR) fueron establecidos de esta forma en los primeros momentos del Lenguaje Estructurado de Consultas.

Saludos


La franja horaria es GMT +2. Ahora son las 00:35:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi