我正在嘗試提取日期的年份以計算用戶的年齡。“生日”是 YYYY-MM-DD 中的字串格式。
這是我的代碼
SELECT username, birthday, CURRENT_DATE(),
EXTRACT(YEAR FROM CURRENT_DATE()) - EXTRACT(YEAR FROM birthday) as age ,
FROM
`user`;
我的 SQL 表“用戶”:
| 用戶名 | 生日 |
|---|---|
| 名稱1 | 1999-05-11 |
| 名稱2 | 1999-05-11 |
但是“EXTRACT(YEAR FROMbirthday)”不起作用,我找不到問題出在哪里。
完整的錯誤:
引數型別的函式 EXTRACT 沒有匹配的簽名:DATE_TIME_PART FROM STRING。支持的簽名:EXTRACT(DATE_TIME_PART FROM DATE); EXTRACT(DATE_TIME_PART FROM TIMESTAMP [AT TIME ZONE STRING]); 提取(DATE_TIME_PART FROM DATETIME);提取(DATE_TIME_PART FROM TIME);EXTRACT(DATE_TIME_PART FROM INTERVAL) [2:41]
uj5u.com熱心網友回復:
下面使用
select username, birthday, current_date(),
extract(year from current_date()) - extract(year from date(birthday)) as age ,
from `user`;
注意date(birthday)修復“問題”
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/424976.html
上一篇:VBASQLIntersect替換同一表中的資料集。(MS訪問)
下一篇:選擇查詢一對多關系表
