sql - 如何在 SQL 唯一约束中仅使用 DateTime 列的年份?

标签 sql sql-server unique-key

我创建了一个唯一约束,每年只允许使用一个注册编号, 我的意思是在注册表中可以存在更多的数字 2,但前提是 是在不同的年份创建的。我听说可以用 Unique 做 ir 约束,但我不知道如何,不需要为年份创建一个列,为月份创建另一个列,等等。

查询

更改表 dbo.correspondencia_FFAA

添加约束 uk_correspondecia UNIQUE (num_corres, fecha_cre);

num_corres 是注册号,fecha_cre 是创建日期,但我只需要年份而不是整列,这可能吗

谢谢

最佳答案

使用计算列,然后创建索引。像这样的东西:

alter table registry add RegistryYear as year(RegistryDate);

create index registry_number_year on Registry(number, RegistryYear);

关于sql - 如何在 SQL 唯一约束中仅使用 DateTime 列的年份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21557310/

相关文章:

sql - 为什么我的 IDENTITY 列值存在间隙?

java - 架构中现有字段的 Solr 复合唯一键

sql - 有没有办法确定 SQL Server 存储过程返回记录集

mysql - 根据月份将日期更改为文本

php/mysql - 按日期排序

sql-server - SSIS 传输数据库任务神秘错误消息 0x80131500

sql - 为什么在 SQL 索引中使用 INCLUDE

sql-server - Azure Web 应用程序 - 请求超时问题

php - 对象到字符串,PHP 中的唯一键

angularjs - 从 JSON 过滤唯一值