我想在MySQL中創建一個視圖。我希望它顯示用戶電子郵件,名字,他們的DOB和他們當前的年齡。我只想顯示超過21歲的用戶。如何確定人是否在MySQL中超過21歲
這是我有:
CREATE VIEW 'valid_Users' AS
SELECT Persons.Email AS Email, Persons.FName + ' ' + Persons.LName AS Name, Persons.DOB AS Birth_Date, DATEDIFF(Persons.DOB, NOW()) AS Current_Age'
FROM Persons
WHERE DATEDIFF(Persons.DOB, NOW()) > 21;
的問題是,Where子句返回負數,這顯然是不正確的年齡。我如何編輯此代碼以確定一個人的適當年齡?
我知道這些名字不起作用 - 但......但這裏是一些當前數據的圖像。實際的表是 '用戶'
刪除單引號。 *只*使用單引號字符串和日期名稱。另外,你的查詢在MySQL中無法工作。你似乎很困惑。 –
當您運行SELECT DATEDIFF(Persons.DOB,NOW())AS天時;你得到了什麼? –
您是否考慮將參數交換到DATEDIFF? _...或查看[docs](http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_datediff)DATEDIFF返回什麼值?_ – Uueerdo