1. SQL / Говнокод #23096

    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
    function try_to_date(p_value in varchar2)
    return date
    is
      l_date date;                  
      
      l_fmt sys.odcivarchar2list := sys.odcivarchar2list('DD.MM.YYYY', 'YYYY/MM/DD', 'YYYY.MM.DD', 'dd.mm.yyyy', 'yyyy/mm/dd', 'yyyy.mm.dd');
    begin
    
      for i in 1..l_fmt.count loop  
        begin
          l_date := to_date(p_value, l_fmt(i));    
          return l_date;
        exception
        when OTHERS then null;    
        end;
      end loop;
      
      return null;  
      
    end;

    n1919, 02 Июня 2017

    Комментарии (0)
  2. 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)
  3. SQL / Говнокод #23088

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if @SubDepartmentID = 0 set @SubDepartmentID = null
    if @QuoteID = 0 set @QuoteID = null
    if @PartnerID = 0 set @PartnerID = null
    if @QuoteID = 0 set @QuoteID = null
    if @SubDepartmentID = 0 set @SubDepartmentID = null

    это кусок хранимой процедуры

    mrvlmor, 31 Мая 2017

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

    0

    1. 1
    2. 2
    3. 3
    SELECT CASE WHEN MIN (t.start_date) IS NULL THEN TO_DATE ('31/12/4712', 'DD/MM/YYYY')
           ELSE MIN (t.start_date) END
      FROM my_table t, ...

    NVL/COALESCE придумали лентяи!
    Это маленький кусочек запроса размером порядка 35 КБ. Там весь этот запрос прекрасен чуть менее чем полностью...

    climber, 23 Мая 2017

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

    −682

    1. 1
    2. 2
    3. 3
    CREATE FUNCTION this_function_check_first_payment_under_agreement_without_previous_periods
    (
    ....

    Ну вот сразу всё понятно)

    Onimys, 17 Августа 2016

    Комментарии (6)
  6. SQL / Говнокод #18553

    −247

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    declare @col int
    set @col = 0
    
    while (select count(distinct id) from #tovar) > @col
    begin
    set @col = (select count(distinct id) from #tovar)
    	insert into #tovar (ParentID, ID, ISFOLDER, Tov) select parentID, ID, ISFOLDER, DESCR from SC23(nolock) where ISMARK = 0 and PARENTID in (select id from #tovar) 
    end

    dsfix, 30 Июля 2015

    Комментарии (1)
  7. SQL / Говнокод #18465

    −160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    select 
    case 
      when count(*) > 0 then '1' 
      else '0' end 
    as "T"  
    from sometable   where searchcode = 'value'

    EXISTS? не, не слышал

    bliznezz, 10 Июля 2015

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

    −160

    1. 1
    n IN (6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25)

    условие n >= 6 выполнено

    lisiy50, 02 Июля 2015

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

    −84

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    BEGIN
    select count(*) INTO var FROM table_name;
    EXCEPTION WHEN OTHERS THEN 
    var:=0;
    END;

    Если что-то пойдет не так...
    P.S.: count() всегда возвращает какое-либо значение. Ошибке не откуда взяться.

    mishok, 01 Июля 2015

    Комментарии (9)
  10. SQL / Говнокод #18425

    −176

    1. 1
    and (ss_1<>'SS0001' or ss_1<>'SS0002' or ss_1<>'SS0010')

    Сегодня на продакшене было обнаружено гениальное выражение в одном из запросов.

    mishok, 01 Июля 2015

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