Bases de Datos > Oracle

 Maximo

(1/1)

alexis17:
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

JuanK:
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color] 'MA' || LPAD (MAX (SUBSTR (Tipo, 3)) + 1,
                     3,
                     '0'
                    )
FROM Tipos WHERE Tipo LIKE 'MA%' <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->

Navegación

[0] Índice de Mensajes

Ir a la versión completa