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

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

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





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


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