1. Список говнокодов пользователя ColvirBydlokod

    Всего: 3

  2. SQL / Говнокод #23151

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    create or replace function TO_NUMBER_EX (sNumber in varchar2) return number is
    ---------------------------------------------------------------------
    --  Преобразование  строки в число с разными символами разделителями
    ---------------------------------------------------------------------
      iRet number(12,3) :=0;
      cReplSgn char(1);
      cToReplSgn char(1);
    begin
       begin
         iRet := to_number(sNumber);
       exception
         when OTHERS then
           iRet := null;
       end;
    
       if iRet is null then
         begin
           if instr(sNumber,'.') > 0 then
             cReplSgn := '.';
             cToReplSgn := ',';
           else
             cReplSgn := ',';
             cToReplSgn := '.';
           end if;
           iRet :=  to_number(replace(sNumber,cReplSgn,cToReplSgn));
         exception
           when OTHERS then
             iRet := null;
         end;
       end if;
    
       return(nvl(iRet,0));
    end TO_NUMBER_EX;

    PL/SQL
    велосипедно-костыльное программирование с неожиданными значениями по умолчанию

    ColvirBydlokod, 29 Июня 2017

    Комментарии (0)
  3. SQL / Говнокод #23091

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    cTemp := trim(to_char(xxx.VALUE, '999999.90'));
    if substr(cTemp, 1, 1) = '.' then
      sText := '0'||cTemp;
    else
      sText := cTemp;
    end if;

    PL/SQL, я блять выучил маски!

    ColvirBydlokod, 31 Мая 2017

    Комментарии (2)
  4. SQL / Говнокод #17168

    −864

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    sResult:= '';
       select  code||' '||h.longname into sResult
            from tbl1 mo, tbl2 ob, g_cli c, tbl3 h
          where mo.m_dep_id = ob.obj_dep_id and mo.m_id = ob.obj_id
              and ob.dep_id = nDepId and ob.id = nId
              and  mo.cli_dep_id = c.dep_id and mo.cli_id = c.id
              and c.id = h.id and c.dep_id = h.dep_id and p_operday between h.FROMDATE and h.TODATE;
             return sResult; 
      exception
        when NO_DATA_FOUND then return null;
        when TOO_MANY_ROWS then          
              for rec in(   select  distinct code as cli_code, h.longname as cli_name 
            from tbl1 mo, tbl2 ob, g_cli c, tbl3 h
          where mo.m_dep_id = ob.obj_dep_id and mo.m_id = ob.obj_id
              and ob.dep_id = nDepId and ob.id = nId
              and  mo.cli_dep_id = c.dep_id and mo.cli_id = c.id
              and c.id = h.id and c.dep_id = h.dep_id and dT between h.FROMDATE and h.TODATE)
                loop
                  if nvl(length(sResult),0) = 0 then
                    sResult:= rec.cli_code||' '||rec.cli_name;
                  else
                    sResult:= sResult||', '||rec.cli_code||' '||rec.cli_name;
                  end if;
                end loop;
                return sResult;   
         when others then return null;

    ColvirBydlokod, 25 Ноября 2014

    Комментарии (3)