SQLserver使用dateadd()函数判断男女年龄是否超龄

本文介绍如何在SQLserver中使用dateadd()函数判断男性60岁、女性50岁是否超龄,重点关注未超龄、已超龄和即将超龄的条件计算,以及在查询中的实际应用。
摘要由CSDN通过智能技术生成

最近遇到这样一个需求:

根据出生年月日查询每个人的年龄是否超龄,男性为60岁,女性为50岁。要求为超龄前一个月。

a.Gender为性别字段,1表示男,反之则是女,a.DateOfBirth表示出生日期

SELECT  a.FullName, a.Gender, b.GenderName,

                CONVERT(varchar(10), a.DateOfBirth, 120) AS DateOfBirth,
                (case a.Gender when '1' then 
                    (case    when (dateadd(YEAR,60,a.DateOfBirth)-day(30))>getdate() then '未超龄' 
                                    when  dateadd(YEAR,60,a.DateOfBirth)<getdate() then '已超龄' else '即将超龄' end)
                else
                    (case    when (dateadd(YEAR,50,a.DateOfBirth)-day(30))>getdate() then '未超龄' 
                                    when  dateadd(YEAR,50,a.DateOfBirth)<getdate() then '已超龄' else '即将超龄' end)
                end)as OverAge
FROM    人员表 AS a left join 
                性别表 as b on a.Gender=

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值