![]() |
maximo buenas tardes estoy sacando el valor maximo de un campo pero ese campo es varchar lo estoy haciendo asi select concat('MA', max(substr(tipo,3))+1) into :is_cod_tipo from tipos where tipo like 'MA%'; ya que los codigos son MA245 osea que el campo tiene 5 posiciones de esa forma me funciona bien el problema es si tengo un codigo que sea ejemplo MA040 entonces cuando intento sacar el valor maximo me manda es MA41 y no MA041 como podria solucionar eso |
Re: maximo como el max se esta evaluando sobre un varchar por eso te regresa ese resultado, no tengo chance de probarlo pero checa si funciona con concat('MA', max(to_number(substr(tipo,3)))+1) |
Re: maximo Hola, puedes hacerlo de esta manera (lo he comprobado y funciona): Código: |
Re: maximo listo men gracias me funciono lo que no entendi fue esta parte de comillas y bueno creo que dice sume y despues coloque lso 0 adelante si hay espacio '000'), ' ', '') |
Re: maximo Con el TO_CHAR(...., '000') lo que conseguimos es que se añadan ceros delante si hace falta para obtener 3 dígitos, pero esta función devuelve también un espacio en blanco para números positivos, de ahí que sea necesario el REPLACE(....., ' ','') para quitarlo (supongo que también se podía haber utilizado la función TRIM()). |
Re: maximo Cita:
|
| La zona horaria es GMT -6. Ahora son las 09:09. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.