Sql Server 数据库中,利用Sql语句实现按照生日排序

快过生日的排在最前边,排除已经过生日的成员

思路:把所有人的出生年份逻辑上改为现在的年份......





1//Sql Server 利用sql语句实现按照生日排序,快过生日的排在最前边,排除已经过生日的成员
2SELECT [ID],[Name],[Sex],[Birthday] FROM [dbo].[Users]
3//把所有人的出生年份逻辑上改为现在的年份,提取生日未到的所有成员(排除已过生日的)
4WHERE DateDiff(dd,GetDate(),(DateName(yyyy,GETDATE())  '-' DATENAME(month,Birthday)  '-'  DATENAME(day,Birthday))) >=0 
5//根据距离今天最近的生日排序
6ORDER BY DateDiff(dd,GetDate(),(DateName(yyyy,GETDATE())  '-' DATENAME(month,Birthday)  '-'  DATENAME(day,Birthday)))


原文链接:利用Sql语句实现按照生日月份和天数排序