2016-04-22 102 views
0

我試圖比較2個人,並查看誰的生日在一年中較早。我試圖在一起解決方法,我使用RIGHT(DOB,5)從日期時間字段獲取mm-dd,並將它與'1900'連接起來以創建新的日期字段並將其用於比較。SQL Server比較日期的月份 - 日期部分

CONVERT(DATE,'1900-' + RIGHT(DOB,5),126) DOB 

不過,我發現了以下錯誤:

Conversion failed when converting date and/or time from character string.

對於如何解決這個問題有什麼建議?

+0

你有你的DOB值的例子? – arcee123

+0

您的DOB專欄實際上是日期專欄嗎?根據你的例子,它看起來像一個字符串,可能會有無效的數據來構建日期。 – user212514

+0

刪除轉換並查看值。數據中一定有錯誤。 –

回答

2

試試這個

right(convert (char(10), dob, 120), 5) 

120格式爲YYYY-MM-DD

1

您可以使用

format(date,'MMdd') 
+0

***如果他***在SQL Server ** 2012 **或更新版本 - 是的 - 這是一個新的2012年功能,但 - 舊版本不可用 –