| |||
quitar ceros a la izquierda al consultar campo character varying buenas tardes amigos a ver si me pueden ayudar, la duda no se si es con php o con el postgres, pero el caso es que en la tabla personal, hay que consultarla mediante el numero de cedula de la persona cosa que al escribir en el input el numero se realice la consulta y busque los datos, pero hay numeros de cedula que tienen ceros a la izquierda y otros que no los tienen entonces a la hora de buscar por cedula los campos que poseen los ceros dan error si no se colocan, por ejemplo, mi numero es "12345678" pero en la tabla esta registrado asi "00012345678" y me piden que a la hora de hacer la consulta no alla que poner los ceros adelante ya que no se sabe cuando hay que colocarlos, necesito saber como se puede hacer que sin colocar los ceros alante del numero realice la consulta correctamente, muchas gracias de antemano |
| |||
Respuesta: quitar ceros a la izquierda al consultar campo character varying muchas gracias por responder, y si es asi "alvaro_trewhela" con unos si y con otros no, porque unos si estan registrados con cero por delante y otros no, y bueno si uso la funcion función str_pad de PHP que dice "oggy_15_3" eso rellenaria el input siempre y de ser ese el caso entonces los numeros de cedulas que no llevan los ceros al frente darian error al momento de consultar, ya que el campo de la tabla es character varying, tendria que ser algo que se tome segun sea el caso, ocea que si lleva los ceros los agreguey si no los lleva entonces no lo entonces no los agregue y no logro ver una solucion y necesito ayuda porque en el trabajo ya me estan apurando amigos ayudenme |
| |||
Respuesta: quitar ceros a la izquierda al consultar campo character varying En ese caso te recomiendo que lo pienses nuevamente y arregles el problema de fondo, a que me refiero, puedes tener dos o más registros diferentes pero iguales al mismo tiempo, ejemplo 123 0123 00123 000123 etc... No obtienes nada con cualquier función "arregla strings" si tienes este dilema. Puedes dar más información sobre los detalles de esto. Lo que podríamos hacer es quitar con un script php todos los ceros iniciales de los registros, es una posible solución. Quedo atento. Última edición por alvaro_trewhela; 21/09/2016 a las 19:52 |
| |||
Respuesta: quitar ceros a la izquierda al consultar campo character varying Pero es que no puedo modificar los registros de la base de datos tengo que consultarlos asi mismo como estan pero resolviendo el detalle de que uno escriba el numero de cedula normal el traiga los datos, necesitaria algo asi como una funcion que compare los numeros y obvie los ceros al frente o que no tome los ceros al frente algo asi, no se de verdad estoy loco ya con esto, tal vez sea algo sencillo pero ni idea de verdad |
| ||||
Respuesta: quitar ceros a la izquierda al consultar campo character varying Esto será difícil conseguirlo con PHP, muevo tu tema a MySQL, tal vez te sugieran una consulta apropiada. |
| ||||
Respuesta: quitar ceros a la izquierda al consultar campo character varying Cita: En ese contexto, no hay una forma de realizar una consulta con precisión, es decir, una consulta EXACTA, que te devuelva siempre un sólo y UNICO registro. El mismo planteo te da la pauta de que cualquier consulta, siendo ingresado solo una PARTE del dato, unicamente puede resolverse por aproximacion.necesito saber como se puede hacer que sin colocar los ceros alante del numero realice la consulta correctamente Esto implica que la query debe hacerse sobre un campo o columna de tipo caracter (CHAR o VARCHAR), y usando LIKE o INSTR(), por ejemplo. Pero mas allá de eso, hay un detalle a tener en cuenta, y esto es a nivel funcional: Si el dato en cuestión corresponde a los números de documento de un mismo país, entonces no importa si en el formulario se ingresa o no con ceros, porque OBLIGATORIAMENTE tienes que completarlos con ceros. Esto es debido a que la longitud del dato no lo regulas tu, sino el organismo de emisión de los mismos, y en esos organismos se guardan también con TODOS sus ceros, mas allá de que sean números. Los sistemas que emiten los documentos siempre lo harán agregando ceros, porque es el patrón de datos el que deben respetar. ¿Se entiende? Así, si el patrón de datos exige representar un set de nueve caracteres, y el numero fuese el 1.234, por ejemplo, de todos modos se debe almacenar y buscar como "000001234". ¿Se comprende la idea? En cualquier caso, tu sistema debería estar preparado para buscar cualquiera de las dos formas: Por parte del numero o por el numero completo.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: quitar ceros a la izquierda al consultar campo character varying hola "gnzsoloyo" gracias por responder y bueno si tu tienes razon claro, pero lo que pasa tambien es que no todos los registros tienen esos ceros para completar el campo unos is los tienen y otros no, entonces suponiendo que el numero a buscar sea 1234 y entonces uno por regla escribe 0001234, dice que el registro no existe, entonces no es factible de verdad porque habira que intentar varias veces ya que hay unos con 2 cero y otros con 3 y otros que nisiquiera los tienen, entonces, lo que quieren hacer es que se consulte sin tener que intentar a adivinar y no se como de verdad no logro ver una solucion. el tema lo habia colocado en la seccion de PHP para saber si habia una funcion que compare los numeros aunquesea y haga la consulta independientemente de colocar lo ceros. |
| ||||
Respuesta: quitar ceros a la izquierda al consultar campo character varying YA te respondí cómo,al decir: Cita: ¿Sabes a qué me refiero? Esto implica que la query debe hacerse sobre un campo o columna de tipo caracter (CHAR o VARCHAR), y usando LIKE o INSTR(), por ejemplo.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: quitar ceros a la izquierda al consultar campo character varying bueno el LIKE lo he usado pero no funciona por ejemplo en, where cedper LIKE '1234567', y no consigue la cedula si contiene los ceros claro y el INSTR() no se como usarlo, te dejo uno de los codigos que de consulta:
Código SQL:
[/CODE]Ver original y otra pregunta mas, suponiendo que se quieran eliminar esos ceros a la izquierda de ese campo en todas las filas como se haria, hay funcion para eso un update o algo que yo ponga que quiera elimnar los ceros a la izquierda y se borren de todas las filas. Última edición por gnzsoloyo; 24/09/2016 a las 16:35 |
| ||||
Respuesta: quitar ceros a la izquierda al consultar campo character varying |
| ||||
Respuesta: quitar ceros a la izquierda al consultar campo character varying Como ya te aclaró Tribi, el tema es que si usas el LIKE contra una cadena de texto sin usar los comodines, es exactamente lo mismo que poner un "=". Para buscar patrones, tienes que usar comodines... algo que puedes encontrar claramente explicado en cualquier tutorial básico. Eso si: Ten en cuenta que poner los comodines en ambos lados de la cadena obligará a MySQL a leer absolutamente TODA la tabla. No podrás optimizar eso.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: quitar ceros a la izquierda al consultar campo character varying a ok ya lo utilice y si funciona, no habia captado y como soy novato mas todavia, muchas gracias de verdad, y la ultima pregunta hay alguna sentencia que ejecute que borre los ceros a la izquierda de todas las filas de esa columna?, como update o algo asi?, ya que estoy pensando en migrar las tablas a una base de datos diferente y asi poder manipularla a mi antojo ya que en la base de datos que se encuentra actualmente no la puedo tocar, y asi seria mas facil de optimizar el sistema si se eliminan esos ceros y listo. |
| ||||
Respuesta: quitar ceros a la izquierda al consultar campo character varying Si el campo está definido como VARCHAR, simplemente cambialo por INT y los ceros desaparecerán solos, ya que no existen los ceros a la izquierda, como recordaras...
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: quitar ceros a la izquierda al consultar campo character varying Esta en postgresql que es charácter varying, yo cambie el campo a interger y me borra todos los números y me deja un solo numero nada mas, no me deja, utilizo el pgadmin III, sabras como podría hacer en este caso? |
| ||||
Respuesta: quitar ceros a la izquierda al consultar campo character varying Muevo al foro de PosgreSQL
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| ||||
Respuesta: quitar ceros a la izquierda al consultar campo character varying Jecavi. Con respecto a la nueva tabla, debes crearla igual pero con el campo como integer. Una vez tengas todo listo, puedes hacer lo siguiente:
Código SQL:
Ver original Esto castea los valores de texto a numerico, eliminando los ceros a la izquierda. Con respecto a tu problema anterior, sin necesidad de modificar nada, se podría trabar en las consultas de una forma similar. Por ejemplo:
Código SQL:
Ver original
__________________ Without data, You are another person with an opinion. W. Edwads Deming |
| |||
Respuesta: quitar ceros a la izquierda al consultar campo character varying buenos tardes, disculpen que tarde tanto en responder es que tenia problemas con el internet, el problema de la consulta lo deje en que busque los datos por el metodo del like ya que no voy a migrar las tablas. Muchas gracias a todos por tanta ayuda de verdad |
Etiquetas: |