Saludos a todos los expertos, estoy programando en php y postgres, pero me surgio un problema. En la parte donde estoy migrando algunas consultas hechas en foxpro a postgres, no encuentro la funcion para saber si un valor es numerico o tiene numeros y tambien letras.
La tabla regfactura contiene una serie de campos algunos numericos y otros de tipo caracter. EL campo numfactura es de tipo caracter y almacena catindades como:
10000000
12000000
FR11000000
FR13000000
FR23000000
FR33000000
...
El siguiente codigo es parte de las instrucciones que corren en vfoxpro
Código PHP:
select *
from regfactura
Order By Fecha desc,iif(val(numfactura)=0,val(right(numfactura,8)),val(numfactura) )";
Al pasarlo a postgres esto quedaria mas o menos asi.......
Código PHP:
select *
from regfactura
Order By Fecha desc,
case when int8(numfactura) = 0 then int8(substr(numfactura, length(numfactura)-7, 8))
else numfactura
end;
Solo que marca un error cuando utilizo int8 para convertir a numfactura en entero
El error que arroja es el siguiente: me imagino que es porq tiene letras, decir es alfanumerico
Código PHP:
ERROR: la sintaxis de entrada no es válida para integer: «FR11000000»
Estoy en este momento buscando la forma de verificar si el valor de numfactura es completamente numerico que mande true o "0", o si tiene letras con numeros que mande "1".....
Espero q me puedan ayudar... seguire buscando a ver si encuentro la forma correcta de resolverlo......
Gracias por todo y disculpen las molestias que causo
(jrm)