01/10/2018, 00:00

Hỏi về các hàm xử lý date trong sql

Đề bài: Thêm ràng buộc check vào bảng [HumanResources].[Employee], tại cột Birthday, chỉ cho phép nhập thêm nhân viên mới có tuổi từ 18 đến 60

Lưu ý cột Birthday có kiểu dữ liệu là date 

Ý tưởng của em như sau:

alter table [HumanResources].[Employee]
add constraint chk_birthDate check((year([BirthDate])) between Year(getdate()-18) and Year(getdate())-60)

Nhưng nó báo lỗi chạy không được.
Hiện tại em chưa nghĩ ra được các nào hay hơn.
Mọi người có thể cho em vài gợi ý.

Tynk Huynk viết 02:08 ngày 01/10/2018

Bạn thử chuyển

between Year(getdate()-18) and Year(getdate())-60)

thành
Year(getdate()-60) and Year(getdate())-18)

Vì theo mình biết thì between value1 and value2, value1 phải bé hơn value 2 tời mới hợp lệ

Trong bài của bạn, 2016 - 18 = 1998 > 2016 - 60 = 1956

Bài liên quan
0