Ver la Versión Completa : Agregar Ceros a la Izquierda en Firebird 1.5.x
mantrax
06-10-2007, 17:33:40
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:
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
Saludos!
La implementacion deseadea es en SQL de Firebird. Esto será beneficioso para muchas personas que implementen.
La interrogante sigue abierta
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.