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)))