我有一個date_of_birth字段的MySQL數據庫。存儲在此字段中的數據格式爲:MM-DD-YYYY。我需要計算此字段的年齡,因此我必須比較並取差值CurDate()
。MySQL日期問題 - 如何計算?
爲此,我寫了下面的:
select FLOOR((DATE_FORMAT(curdate(), '%m-%d-%Y') - date_of_birth)/10000)
from patients
因此,我希望它是比較MM-DD-YYYY的MM-DD-YYYY減去DOB的CurDate()
。但是,對於我的一個測試用例,它繼續返回-1。我已經在MSSQL上正常工作了,但看起來MySQL更挑剔/不太友好。
我在這裏錯過了什麼嗎?什麼是交易,請幫助!
感謝
check datediff函數 – Alfabravo 2012-02-09 19:47:16
呃,爲什麼你不使用mysql日期格式?將其存儲在本地只是...效率低下。是否有可能改變你的表格結構? – Vyktor 2012-02-09 19:53:27
這不是我的設計Vyk。這是我之前對白皮書一無所知的白癡。所以我一直堅持下來,但我現在就開始工作了。 – Encryption 2012-02-09 20:07:36