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

    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
    CREATE TABLE [dbo].[TBL_JOUR_PRODUCTION_PLAN_KK_BH](
    	[JPPKKBH_ID] [uniqueidentifier] NOT NULL,
    	[JPPKKBH_JPKKBH_ID] [uniqueidentifier] NOT NULL,
    	[JPPKKBH_WC_ID] [int] NOT NULL,
    	[JPPKKBH_DATE] [datetime] NOT NULL,
    	[JPPKKBH_QTY] [numeric](30, 5) NOT NULL,
    	[JPPKKBH_QTYF] [numeric](30, 5) NOT NULL,
    	[JPPKKBH_COMENT] [varchar](8000) NULL,
    	[JPPKKBH_DESCRIPTION] [varchar](8000) NOT NULL,
    	[JPPKKBH_WHO] [varchar](150) NOT NULL,
    	[JPPKKBH_WHO_ID] [uniqueidentifier] NOT NULL,
    	[JPPKKBH_WHEN] [datetime] NOT NULL,
    (
    
    CREATE TABLE [dbo].[TBL_JOUR_PRODUCTION_PLAN_KK_BH_HISTORY](
    	[JPPKKBHH_ID] [uniqueidentifier] NOT NULL,
    	[JPPKKBHH_JPPKKBH_ID] [uniqueidentifier] NOT NULL,
    	[JPPKKBHH_JPPKKBH_JPKKBH_ID] [uniqueidentifier] NOT NULL,
    	[JPPKKBHH_JPPKKBH_WC_ID] [int] NOT NULL,
    	[JPPKKBHH_JPPKKBH_DATE] [datetime] NOT NULL,
    	[JPPKKBHH_JPPKKBH_QTY] [numeric](30, 5) NOT NULL,
    	[JPPKKBHH_JPPKKBH_QTYF] [numeric](30, 5) NOT NULL,
    	[JPPKKBHH_JPPKKBH_COMENT] [varchar](8000) NULL,
    	[JPPKKBHH_JPPKKBH_DESCRIPTION] [varchar](8000) NOT NULL,
    	[JPPKKBHH_JPPKKBH_WHO_ID] [uniqueidentifier] NULL,
    	[JPPKKBHH_JPPKKBH_WHEN] [datetime] NOT NULL,
    	[JPPKKBHH_OPER] [int] NOT NULL,
    	[JPPKKBHH_WHO_ID] [uniqueidentifier] NOT NULL,
    	[JPPKKBHH_WHEN] [datetime] NOT NULL,
    (

    no comments

    Kaldblpb, 25 Июля 2017

    Комментарии (17)
  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 / Говнокод #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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)