@rubtsoff

Как сделать, чтобы поле получало значение автоматически?

Есть db в нем список атлетов, надо чтобы вычислялась его категория тоесть если ему возраст между 0-15 лет то категория C, если между 15 и 17 то категория A. Все это нужно чтобы генерировалось автомотичести на базе возроста (если у атлета возрост поменялся то категория тоже). Через php это все легко но мне нужно сделать через sql.
Нашёл команды под sql server но у них другой синтаксис.

alter table PATIENT add AgeCategory as
    CASE
    WHEN DateAdd(Year,1,DOB) > Current_Timestamp then 'infant'
    WHEN DateAdd(Year,4,DOB) > Current_Timestamp then 'toddler'
    WHEN DateAdd(Year,10,DOB) > Current_Timestamp then 'children'
    WHEN DateAdd(Year,14,DOB) > Current_Timestamp then 'tween'
    WHEN DateAdd(Year,18,DOB) > Current_Timestamp then 'teenager'
    WHEN DateAdd(Year,65,DOB) > Current_Timestamp then 'adult'
    ELSE 'elderly'
    END;
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 3
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
Использовать триггер до добавления записи или значение по-умолчанию из функции.
Ответ написан
@d-stream
Готовые решения - не подаю, но...
Так в чем вопрос?
Для SQL вполне нормально добавить в таблицу вычисляемое поле, как и показано в примере.
Ответ написан
Комментировать
@rubtsoff Автор вопроса
Все решил через cross join
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы