Subject | Re: [firebird-support] SP space chacarter problem in FB2.5 |
---|---|
Author | Germán Balbi |
Post date | 2018-10-24T21:26:11Z |
Then the new SP remains:
create or alter procedure VER_EDAD (
N_EDAD numeric(15,4),
SEPARADOR varchar(1),
CORTO char(1))
returns (
C_EDAD varchar(8))
as
begin
/* Procedure Text */
if (separador is null) then
separador = ' ';
if (corto is null) then
corto = 'N';
N_EDAD numeric(15,4),
SEPARADOR varchar(1),
CORTO char(1))
returns (
C_EDAD varchar(8))
as
begin
/* Procedure Text */
if (separador is null) then
separador = ' ';
if (corto is null) then
corto = 'N';
c_edad =
CASE
when :n_edad > 1 then
cast(cast(:n_edad as integer) as varchar(3))||separador||iif(upper(corto)='N','Años', 'A')
when :n_edad = 1 then
cast(cast(:n_edad as integer) as varchar(3))||separador||iif(upper(corto)='N','Año', 'A')
when :n_edad > 0.01 then
cast(cast(:n_edad*100 as integer) as varchar(3))||separador||iif(upper(corto)='N','Meses', 'M')
when :n_edad = 0.01 then
cast(cast(:n_edad*100 as integer) as varchar(3))||separador||iif(upper(corto)='N','Mes', 'M')
when :n_edad > 0.0001 then
cast(cast(:n_edad*10000 as integer) as varchar(3))||separador||iif(upper(corto)='N','Días', 'D')
when :n_edad = 0.0001 then
cast(cast(:n_edad*10000 as integer) as varchar(3))||separador||iif(upper(corto)='N','Día', 'D')
when :n_edad = 0 then
'RN'
end;
CASE
when :n_edad > 1 then
cast(cast(:n_edad as integer) as varchar(3))||separador||iif(upper(corto)='N','Años', 'A')
when :n_edad = 1 then
cast(cast(:n_edad as integer) as varchar(3))||separador||iif(upper(corto)='N','Año', 'A')
when :n_edad > 0.01 then
cast(cast(:n_edad*100 as integer) as varchar(3))||separador||iif(upper(corto)='N','Meses', 'M')
when :n_edad = 0.01 then
cast(cast(:n_edad*100 as integer) as varchar(3))||separador||iif(upper(corto)='N','Mes', 'M')
when :n_edad > 0.0001 then
cast(cast(:n_edad*10000 as integer) as varchar(3))||separador||iif(upper(corto)='N','Días', 'D')
when :n_edad = 0.0001 then
cast(cast(:n_edad*10000 as integer) as varchar(3))||separador||iif(upper(corto)='N','Día', 'D')
when :n_edad = 0 then
'RN'
end;
suspend;
end
end
Thank you very much to all