【发布时间】:2020-10-02 17:13:12
【问题描述】:
我想创建一个函数,它通过条目检查记录的年龄。如果年龄超过 18 岁,则保存记录。如果没有,请不要保存记录。
create function f_Over18 (@age date)
returns char (20)
as begin
--declare @returnOne int
declare @date int
set @date= year(getdate()) - year(@age)
if (@date > 17)
begin
print ('Age verified') --this is only an example but i want, that safes the record
end
else
begin
print ('Age not verified')
end;
end;
非常感谢您的热心帮助。
【问题讨论】:
-
获取年龄差异并不是计算某人年龄的正确方法。 2000 年 12 月 31 日出生的人在 2018 年 1 月 1 日不是 18 岁(他们是 17 岁零一天),而是 2018 - 2000 年是 18 岁。但是,这里有 100 个关于如何在 SQL Server 中计算年龄的示例,你有吗看过那些吗?
-
感谢您的回复!我不知道如何工作和编写更好的函数。我搜索了很多,但找不到合适的。我想要的是,一列的生日数据类型应该是这个函数。如果条目(生日)超过 18 岁,则此函数允许保护记录,如果不是,则忽略它。
标签: sql sql-server date select sql-function