Find Jobs
Hire Freelancers

Insertar numero entre 0 y 1 en oracle con PHP.

$5000-15000 CLP

Cancelado
Publicado hace más de 8 años

$5000-15000 CLP

Pagado a la entrega
Tal vez sea una tontera. Pero no logro insertar o actualizar un numero entre 0 o 1, por ejemplo 0.5 en una base de datos, el campo es de tipo Number en Oracle y lo quiero hacer con php. Si lo inserto, queda como .5 lo cual me tira error en todos los sistemas que dependen del campo. No puedo cambiar el tipo de dato ni crear otro. Y es muy costoso cambiar todos los sistemas que dependen de la base de datos para que reconozcan el .5 u otro tipo de dato. Si inserto 1.2 o 7.6 o cualquier decimal lo hace bien, el problema esta entre 0 y 1. Ocupo oci_parse para correr la query en php. He googleado el problema y no he podido hallarle solucion. Alguna idea?
ID del proyecto: 8126610

Información sobre el proyecto

6 propuestas
Proyecto remoto
Activo hace 9 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
6 freelancers están ofertando un promedio de $10.500 CLP por este trabajo
Avatar del usuario
Hola, .5 es la forma en predeterminada con la que oracle pasa a cadena un número con ceros iniciales (por ejemplo 0.5 lo va a pasar como .5). No es que lo esté guardando mal. Lo guarda de manera correcta, pero al traerlo o trae con ese formato un tanto particular. Si quieres darle otro formato puedes hacerl desde el "select" por ejemplo: select trim(to_char(0.5, '9999999990D999')) O con un case
$12.500 CLP en 1 día
5,0 (16 comentarios)
4,0
4,0
Avatar del usuario
Hola! Por lo que cuentas del problema me parece que el problema no está en la inserción. Me explico: una vez que lograste insertar el valor en Oracle, si la columna es de tipo NUMBER, no está guardando el texto del valor, sino el número que representa, con lo cual el problema está cuando lo estas tratando de leer desde las otras ubicaciones. Si se lee de la base de datos en un solo lugar podría ser sencillo modificar la función para que lo que recibe lo parsee si está entre cero y uno, pero sino va a ser necesario corregir todos los lugares donde lee. Igualmente podemos revisar el código si te sirve. Saludos, Diego
$5.000 CLP en 3 días
4,9 (9 comentarios)
3,1
3,1
Avatar del usuario
Lamentablemente es un error conocdido de Oracle y mySQL que no se corrige con ALTER's (es notación americana y no es recomendable que la cambies) y dado que tú no puedes/debes hacer cambios en el Oracle te aconsejo que en el PHP uses: $row['field'] = (float) $row['field']; y listo!! El problema no es que se guarde como ".5" (no es así) sino que "se representa" como ".5" en tu cliente. Te he dado la solución. Pruébala y si te funciona te agradecería que me asignases el proyecto. Saludos desde España.
$12.500 CLP en 3 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
Programador y desarrollador web con amplia experiencia en el manejo de PHP, pienso que lo tuyo se puede resolver fácil. Tengo más de 3 años de experiencia como Freelancer. Si me das la oportunidad prometo hacer un trabajo de tu agrado.
$15.500 CLP en 7 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
Soy un desarrollador de Java, con cinco años de experiencia en la plataforma, después de haber realizado varios proyectos como software de mutuales, instituciones académicas entre otros. Utilizando tecnologías como JEE, Spring, Hibernate, JSF, Oracle ADF. A su vez poseo conocimientos avanzados en bases de datos Oracle, MySQL y PostgreSQL. Cualquier investigación estará a su disposición.
$12.500 CLP en 2 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de CHILE
Santiago, Chile
5,0
2
Forma de pago verificada
Miembro desde ago 24, 2013

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.