Sql Server 數(shù)據(jù)庫中,利用Sql語句實(shí)現(xiàn)按照生日排序

快過生日的排在最前邊,排除已經(jīng)過生日的成員

思路:把所有人的出生年份邏輯上改為現(xiàn)在的年份......





//Sql Server 利用sql語句實(shí)現(xiàn)按照生日排序,快過生日的排在最前邊,排除已經(jīng)過生日的成員
SELECT [ID],[Name],[Sex],[Birthday] FROM [dbo].[Users]
//把所有人的出生年份邏輯上改為現(xiàn)在的年份,提取生日未到的所有成員(排除已過生日的)
WHERE DateDiff(dd,GetDate(),(DateName(yyyy,GETDATE())  '-' DATENAME(month,Birthday)  '-'  DATENAME(day,Birthday))) >=0  
//根據(jù)距離今天最近的生日排序
ORDER BY DateDiff(dd,GetDate(),(DateName(yyyy,GETDATE())  '-' DATENAME(month,Birthday)  '-'  DATENAME(day,Birthday)))  


原文鏈接:利用Sql語句實(shí)現(xiàn)按照生日月份和天數(shù)排序