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

    −857

    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
    -- Возвращает название месяца по русский
       FUNCTION fmonstr (pmon IN VARCHAR2)
          RETURN CHAR
       IS
          TYPE tmon IS TABLE OF VARCHAR2 (60)
             INDEX BY BINARY_INTEGER;
    
          amon   tmon;
       BEGIN
          amon (1) := 'ЯНВАРЬ';
          amon (2) := 'ФЕВРАЛЬ';
          amon (3) := 'МАРТ';
          amon (4) := 'АПРЕЛЬ';
          amon (5) := 'МАЙ';
          amon (6) := 'ИЮНЬ';
          amon (7) := 'ИЮЛЬ';
          amon (8) := 'АВГУСТ';
          amon (9) := 'СЕНТЯБРЬ';
          amon (10) := 'ОКТЯБРЬ';
          amon (11) := 'НОЯБРЬ';
          amon (12) := 'ДЕКАБРЬ';
          RETURN amon (TO_NUMBER (pmon));
          NULL;
       END;                                                        --  End fMonStr

    о наличие nls_date_language=russian и to_char() видимо не догадывались

    itaho, 24 Ноября 2010

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

    −849

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    -- Очищаем поле [PlanItemCodeNorm] от всех записей содержащих не цифры и точку
    UPDATE PIM SET [PlanItemCodeNorm] = ''
    -- SELECT PIM.*
    FROM [dbo].[PlanItem] PIM
    WHERE [PlanItemCodeNorm] <> ''
        AND REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
            REPLACE([PlanItemCodeNorm], '.', '' )
            , '0', '' ), '1', '' ), '2', '' ), '3', '' ), '4', '' ), '5', '' ), '6', '' ), '7', '' ), '8', '' ), '9', ''), '*', '' )
            <> ''

    ....

    HellMaster_HaiL, 23 Ноября 2010

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

    −856

    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
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    create   Function [dbo].[BuildString](	@a char(1),
    			       	@b char(1),
    			       	@c char(2),
    			       	@d char(2),
    			       	@e char(1),
    				@f char(1),
    			       	@g char(1),
    			       	@h char(2),
    			       	@i char(2),
    			       	@j char(1),
    				@k char(2),
    			       	@l char(1),
    				@m char(2),
    			       	@n char(1),
    				@o char(1),
    			       	@p char(1),
    			       	@q char(2),
    			       	@r char(2),
    				@s char(1),
    			       	@t char(1),
    				@u char(1),
    			       	@v char(1),
    			       	@w char(2),
    			       	@x char(2),
    			       	@y char(2),
    			       	@z char(1),
    				@a0 char(1),
    			       	@a1 char(1),
    			       	@a2 char(2),
    			       	@a3 char(2),
    				@a4 char(4))
    returns char(47)
    as
    begin
    
    declare @text char(47)
    
    set @text = @a+@b+@c+@d+@e+@f+@g+
    		@h+@i+@j+@k+@l+@m+@n+
    		@o+@p+@q+@r+@s+@t+@u +
    		@v+@w+@x+@y+@z+
    		@a0+@a1+@a2+@a3+@a4
    
    return @text

    Автор наверное что-то хотел этим сказать. Я так и не понял :)

    adler, 17 Ноября 2010

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

    −120

    1. 1
    2. 2
    3. 3
    4. 4
    t = SQLEXEC(cc,"INSERT INTO CARDS (N, NAME1, NAME2, NAME3, PDEPARTMENT, PPOST, DCREATE, DMODIFY, PFIRM, PGROUP);
                       VALUES( '"+ALLTRIM('65905')+"', '"+UPPER('Ивасик')+"', '"+UPPER('Иван')+"', '"+UPPER('Андреевич')+"',;
                       '"+ALLTRIM('565')+"', '"+ALLTRIM('2184800')+"', '"+ALLTRIM('24/06/2009')+"', '"+ALLTRIM('07/07/2009')+"',;
                       '"+ALLTRIM('5')+"','"+ALLTRIM('5')+"')")

    Пример залива данных в базу на Visual FoxPro

    gavno2000, 17 Ноября 2010

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

    −122

    1. 1
    2. 2
    ALTER TABLE [dbo].[IssueGroup]  WITH CHECK ADD  CONSTRAINT [FK_IssueGroup_Group] FOREIGN KEY([ProjectId], [GroupId])
    REFERENCES [dbo].[Group] ([GroupId],[ProjectId])

    Часа 2 искал проблему в чужом коде - оказалось, что просто поля ProjectId и GroupId были записаны в разных порядках сначала FOREIGN KEY([ProjectId], [GroupId]), а потом REFERENCES [dbo].[Group] ([GroupId],[ProjectId]).

    vadimliman, 16 Ноября 2010

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

    −117

    1. 1
    SELECT * FROM CompanyData d WHERE d.Name = @companyName AND d.EntityID NOT IN (SELECT COUNT(*) FROM...)

    Оригинал потерялся, но особый способ отсевания компаний запомнился. Хорошо, что COUNT(*) возвращал всегда ноль :)

    AlexKhomich, 16 Ноября 2010

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

    −125

    1. 1
    SELECT rr.hit, count(rr.hit) AS cnt FROM `r_hits` AS rr WHERE rr.hit IN (SELECT DISTINCT rh.hit FROM `r_hits`AS rh) GROUP BY rr.hit;

    Вот что бывает, когда голова не работает в обед в понедельник.
    А делов-то всего на select hit, COUNT(id) from r_hit group by hit было...

    azzz, 15 Ноября 2010

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

    −194

    1. 1
    SELECT *  #__zakaz_montazh  `id`='$id'

    Нужна была информация по id
    Пол часа искал в скриптах причину чего не работает...
    Заработался видимо....

    sssims, 15 Ноября 2010

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

    −191

    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
    SELECT * FROM l_table AS bl
    
    LEFT JOIN t_table AS bt
    
    ON (bl.ID = bt.ID)
    
    WHERE DZ IN
    
    (
    
    SELECT LEFT(GROUP_CONCAT(DZ ORDER BY DZ DESC), 19)
    
    FROM l_table GROUP BY UID
    
    )
    
    GROUP BY UID
    
    ORDER BY DZ DESC
    ;

    advvzlol, 13 Ноября 2010

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

    −180

    1. 1
    select nvl(count(*), 0) from ...

    Вот такое увидел.
    Защита от нежданчика.

    Oleg_quadro, 13 Ноября 2010

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