Знак зодиака

Скрипты, запросы.

Знак зодиака

Сообщение invisib1e » 29 июл 2011, 11:21

Функция для вывода знака зодиака по дате рождения:

Код: Выделить всё
create function [dbo].[zodiak] (@birthday date)
returns varchar(8)
as
begin
   declare @bd char(4) = substring(convert(varchar,@birthday,112),5,4)
   return
   case
      when @bd between '0321' and '0420' then 'Овен'
      when @bd between '0421' and '0520' then 'Телец'
      when @bd between '0521' and '0621' then 'Близнецы'
      when @bd between '0622' and '0722' then 'Рак'
      when @bd between '0723' and '0823' then 'Лев'
      when @bd between '0824' and '0922' then 'Дева'
      when @bd between '0923' and '1023' then 'Весы'
      when @bd between '1024' and '1122' then 'Скорпион'
      when @bd between '1123' and '1221' then 'Стрелец'
      when @bd between '1222' and '1231' or @bd between '0101' and '0120' then 'Козерог'
      when @bd between '0121' and '0219' then 'Водолей'
      when @bd between '0220' and '0320' then 'Рыбы'
      else 'ERROR'
   end
end


Пример запроса:
Код: Выделить всё
   declare @birthday datetime = '19870416'
   select [zodiak] = dbo.zodiak(@birthday)
invisib1e
The Admin
 
Сообщения: 55
Зарегистрирован: 16 мар 2010, 22:28
Откуда: Russia, Moscow
Благодарил (а): 1 раз.
Поблагодарили: 2 раз.

Вернуться в Transact-SQL

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron