update tb_ct_ctb set clas = trim(clas), descr = trim(descr);

-- 1.1.1.1.01.001
update tb_ct_ctb set
    clas =
        case 
            when length(tb_ct_ctb.clas) = 2 then
                substring(tb_ct_ctb.clas, 1, 1) || '.' || 
                substring(tb_ct_ctb.clas, 2, 1)
                
            when length(tb_ct_ctb.clas) = 3 then
                substring(tb_ct_ctb.clas, 1, 1) || '.' || 
                substring(tb_ct_ctb.clas, 2, 1) || '.' || 
                substring(tb_ct_ctb.clas, 3, 1)
        
            when length(tb_ct_ctb.clas) = 5 then
                substring(tb_ct_ctb.clas, 1, 1) || '.' || 
                substring(tb_ct_ctb.clas, 2, 1) || '.' || 
                substring(tb_ct_ctb.clas, 3, 1) || '.' || 
                substring(tb_ct_ctb.clas, 4, 2)
            when length(tb_ct_ctb.clas) = 8 then
                substring(tb_ct_ctb.clas, 1, 1) || '.' || 
                substring(tb_ct_ctb.clas, 2, 1) || '.' || 
                substring(tb_ct_ctb.clas, 3, 1) || '.' || 
                substring(tb_ct_ctb.clas, 4, 2) || '.' || 
                substring(tb_ct_ctb.clas, 6, 3)
            
            else
                tb_ct_ctb.clas
        end
;


-- 1.01.01.01.01.001
update tb_ct_ctb set clas =

    case 
        when length(tb_ct_ctb.clas) = 3 then
            substring(tb_ct_ctb.clas, 1, 1) || '.' || 
            substring(tb_ct_ctb.clas, 2, 2)
            
        when length(tb_ct_ctb.clas) = 5 then
            substring(tb_ct_ctb.clas, 1, 1) || '.' || 
            substring(tb_ct_ctb.clas, 2, 2) || '.' || 
            substring(tb_ct_ctb.clas, 4, 2)
    
        when length(tb_ct_ctb.clas) = 7 then
            substring(tb_ct_ctb.clas, 1, 1) || '.' || 
            substring(tb_ct_ctb.clas, 2, 2) || '.' || 
            substring(tb_ct_ctb.clas, 4, 2) || '.' || 
            substring(tb_ct_ctb.clas, 6, 2)
            
        when length(tb_ct_ctb.clas) = 9 then
            substring(tb_ct_ctb.clas, 1, 1) || '.' || 
            substring(tb_ct_ctb.clas, 2, 2) || '.' || 
            substring(tb_ct_ctb.clas, 4, 2) || '.' || 
            substring(tb_ct_ctb.clas, 6, 2) || '.' || 
            substring(tb_ct_ctb.clas, 8, 2)
        when length(tb_ct_ctb.clas) = 12 then
            substring(tb_ct_ctb.clas, 1, 1) || '.' || 
            substring(tb_ct_ctb.clas, 2, 2) || '.' || 
            substring(tb_ct_ctb.clas, 4, 2) || '.' || 
            substring(tb_ct_ctb.clas, 6, 2) || '.' || 
            substring(tb_ct_ctb.clas, 8, 2) || '.' ||         
            substring(tb_ct_ctb.clas, 10, 3)
        else
            tb_ct_ctb.clas
    end



        
    select 

    case 
        when length(tb_ct_ctb.clas) = 3 then
            substring(tb_ct_ctb.clas, 1, 1) || '.' || 
            substring(tb_ct_ctb.clas, 2, 2)
            
        when length(tb_ct_ctb.clas) = 5 then
            substring(tb_ct_ctb.clas, 1, 1) || '.' || 
            substring(tb_ct_ctb.clas, 2, 2) || '.' || 
            substring(tb_ct_ctb.clas, 4, 2)
    
        when length(tb_ct_ctb.clas) = 7 then
            substring(tb_ct_ctb.clas, 1, 1) || '.' || 
            substring(tb_ct_ctb.clas, 2, 2) || '.' || 
            substring(tb_ct_ctb.clas, 4, 2) || '.' || 
            substring(tb_ct_ctb.clas, 6, 2)
            
        when length(tb_ct_ctb.clas) = 9 then
            substring(tb_ct_ctb.clas, 1, 1) || '.' || 
            substring(tb_ct_ctb.clas, 2, 2) || '.' || 
            substring(tb_ct_ctb.clas, 4, 2) || '.' || 
            substring(tb_ct_ctb.clas, 6, 2) || '.' || 
            substring(tb_ct_ctb.clas, 8, 2)
        when length(tb_ct_ctb.clas) = 12 then
            substring(tb_ct_ctb.clas, 1, 1) || '.' || 
            substring(tb_ct_ctb.clas, 2, 2) || '.' || 
            substring(tb_ct_ctb.clas, 4, 2) || '.' || 
            substring(tb_ct_ctb.clas, 6, 2) || '.' || 
            substring(tb_ct_ctb.clas, 8, 2) || '.' ||         
            substring(tb_ct_ctb.clas, 10, 3)
        else
            tb_ct_ctb.clas
    end,
    tb_ct_ctb.*
from tb_ct_ctb



