Уникальное ограничение с использованием функции SQL Server CAST ([column] AS DATE) - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть таблица appointments, в которой (среди прочего) есть столбец [personid] и столбец [appdate] с типом данных datetime(2).Я хочу добавить ограничение, которое не позволит personid получать более одной встречи в любой день.

Я пробовал это, но это не сработало

ALTER TABLE dbo.tblappointments
    ADD CONSTRAINT SingleApp UNIQUE (PersonID, CAST(Appdate AS DATE))

Спасибо.

1 Ответ

0 голосов
/ 21 декабря 2018

Я полагаю, вы можете создать вычисляемый столбец и использовать его в качестве индекса.

ALTER TABLE dbo.tblappointments ADD AppointmentDay as CAST(Appdate AS DATE) PERSISTED

Если вы не используете PERSISTED, значение будет вычисляться при каждом доступе к столбцу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...