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

    −164

    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
    SELECT TOP 100 Col008, Col012, 
            CAST(
                   CASE WHEN SUBSTRING(Col008, 9, 1) IN ('å', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R')
                           THEN '-' ELSE '' END +
                    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
                    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
                           Col008, 'æ', '0'), 'A', '1'), 'B', '2'), 'C', '3'), 'D', '4'), 
                                   'E', '5'), 'F', '6'), 'G', '7'), 'H', '8'), 'I', '9'), 
                                   'å', '0'), 'J', '1'), 'K', '2'), 'L', '3'), 'M', '4'), 
                                   'N', '5'), 'O', '6'), 'P', '7'), 'Q', '8'), 'R', '9') 
            AS INT) AS Col008num,
    
            CAST(
                   CASE WHEN SUBSTRING(Col012, 7, 1) IN ('å', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R')
                           THEN '-' ELSE '' END +
                    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
                    REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
                           Col012, 'æ', '0'), 'A', '1'), 'B', '2'), 'C', '3'), 'D', '4'), 
                                   'E', '5'), 'F', '6'), 'G', '7'), 'H', '8'), 'I', '9'), 
                                   'å', '0'), 'J', '1'), 'K', '2'), 'L', '3'), 'M', '4'), 
                                   'N', '5'), 'O', '6'), 'P', '7'), 'Q', '8'), 'R', '9') 
            AS INT) AS Col012num
    
    FROM dbo.Source_Table

    Да за что ж мне такое?

    Запостил: DBdev, 14 Июня 2013

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

    • Как только люди хотят запихнуть всё в один запрос, слабо представляя себе, что и где идёт по архитектуре, начинается вот такая херня. Бить палкой по пяткам, отлучать от премии, делать такие вещи неэффективными на уровне архитектуры.
      Ответить

    Добавить комментарий