пʼятниця, 10 квітня 2015 р.

Знак зодиака в Oracle

Недавно, захотел я узнать представителя какого знака зодиака больше у нас в департаменте. Приведу кусок кода, который как-раз и парсит знаки по дате рождения:

      case 
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 3 AND EXTRACT(day FROM t.birthdate) >= 21) OR (EXTRACT(MONTH FROM t.birthdate) = 4 AND EXTRACT(day FROM t.birthdate) <= 19THEN 'Овен'
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 4 AND EXTRACT(day FROM t.birthdate) >= 20) OR (EXTRACT(MONTH FROM t.birthdate) = 5 AND EXTRACT(day FROM t.birthdate) <= 20) THEN 'Телец'
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 5 AND EXTRACT(day FROM t.birthdate) >= 21) OR (EXTRACT(MONTH FROM t.birthdate) = 6 AND EXTRACT(day FROM t.birthdate) <= 20) THEN 'Близнецы'
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 6 AND EXTRACT(day FROM t.birthdate) >= 21) OR (EXTRACT(MONTH FROM t.birthdate) = 7 AND EXTRACT(day FROM t.birthdate) <= 20) THEN 'Рак'
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 7 AND EXTRACT(day FROM t.birthdate) >= 21) OR (EXTRACT(MONTH FROM t.birthdate) = 8 AND EXTRACT(day FROM t.birthdate) <= 20) THEN 'Лев'
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 8 AND EXTRACT(day FROM t.birthdate) >= 21) OR (EXTRACT(MONTH FROM t.birthdate) = 9 AND EXTRACT(day FROM t.birthdate) <= 20) THEN 'Дева'
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 9 AND EXTRACT(day FROM t.birthdate) >= 21) OR (EXTRACT(MONTH FROM t.birthdate) = 10 AND EXTRACT(day FROM t.birthdate) <= 20) THEN 'Весы'
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 10 AND EXTRACT(day FROM t.birthdate) >= 21) OR (EXTRACT(MONTH FROM t.birthdate) = 11 AND EXTRACT(day FROM t.birthdate) <= 20) THEN 'Скорпион'
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 11 AND EXTRACT(day FROM t.birthdate) >= 21) OR (EXTRACT(MONTH FROM t.birthdate) = 12 AND EXTRACT(day FROM t.birthdate) <= 20) THEN 'Стрелец'
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 12 AND EXTRACT(day FROM t.birthdate) >= 21) OR (EXTRACT(MONTH FROM t.birthdate) = 1 AND EXTRACT(day FROM t.birthdate) <= 20) THEN 'Козерог'
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 1 AND EXTRACT(day FROM t.birthdate) >= 21) OR (EXTRACT(MONTH FROM t.birthdate) = 2 AND EXTRACT(day FROM t.birthdate) <= 20) THEN 'Водолей'
            WHEN (EXTRACT(MONTH FROM t.birthdate) = 2 AND EXTRACT(day FROM t.birthdate) >= 21) OR (EXTRACT(MONTH FROM t.birthdate) = 3 AND EXTRACT(day FROM t.birthdate) <= 20) THEN 'Рыба'
      end 

В общем по тем сотрудникам, у которых в названии профессии указано "программист" (искал like '%програм%')  вышел вот такой результат:
Так что если вы дева или весы - у вас больше шансов стать программистом =)

Немає коментарів:

Дописати коментар