Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Agregar Ceros a la Izquierda en Firebird 1.5.x (https://www.clubdelphi.com/foros/showthread.php?t=48882)

mantrax 06-10-2007 17:33:40

Agregar Ceros a la Izquierda en Firebird 1.5.x
 
Hola amigos saludos!

Quería saber si tienen por allí una función para agregar un número predeterminado de ceros a la izquierda? asi por ejemplo que tenga un campo varchar de longitud 3 me devuelva valores
1 ->001
10 ->010
100 ->100

Gracias de antemano.

pcicom 06-10-2007 18:46:37

En este caso lo recomedable para ti es que si deseas que el valor a grabar en el campo de datos sea
llenado con zeros a la izq, y en su caso cuando recuperes esa informacion pues lo llenes con alguna
funcion escrita por ti..


ejemplo:

Código Delphi [-]
FUNCTiON STRZERO(nValor,nLong:INteger):String;
Var
  cCadena:String;
  nZeros:INteger;
begin
     cCadena := TrimRight(InttoStr(nValor));
     cCadena := StringOfChar('0',(nLong-length(cCadena))) + cCadena;
     result := cCadena;
end;

: Insertando el Valor

cValor := strzero(500,10);

cSql := 'INSERT INTO mtabla (campo,campo....) VALUES ('+qUOTEDsTR(cValor)+','......);


: Obteniendo el Valor de un SELECT

SELECT campo.... FROM mtabla ...


cCampo := StrZero(qryTabla['campo'],10);



Y/O En su caso tendrias que crear un UDF con dicha funcion y asi la podrias integrar a tus consultas cuando
lo requieras de esa forma para cualquier valor numerico..


SELECT STRZERO(campo,10),campo2...... FROM mtabla ...




Saludos..

mantrax 06-10-2007 19:24:35

Crear una funcion UDF
 
Saludos!

La implementacion deseadea es en SQL de Firebird. Esto será beneficioso para muchas personas que implementen.

La interrogante sigue abierta


La franja horaria es GMT +2. Ahora son las 11:15:44.

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