首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用从日期开始的年龄,创建一个年龄阶段列

使用从日期开始的年龄,创建一个年龄阶段列
EN

Stack Overflow用户
提问于 2018-03-03 05:55:31
回答 1查看 151关注 0票数 1

我在使用出生日期显示年龄阶段时遇到了问题,下面是我的查询和示例图像

代码语言:javascript
复制
SELECT 
res_fName,res_mName,
res_lName,rs.suffix,
rg.gender_Name,
TIMESTAMPDIFF(YEAR,res_Bday,CURDATE()) AS age,
(SELECT IF (TIMESTAMPDIFF(YEAR,res_Bday,CURDATE()) <=1,'INFANT','')) Age_Stage 
FROM resident_detail rd 
LEFT JOIN ref_suffixname rs ON rd.suffix_ID = rs.suffix_ID 
LEFT JOIN ref_gender rg ON rd.gender_ID = rg.gender_ID

SQL结果显示:

年龄阶段

  • 产妇和新生儿(0至1个月)
  • 婴儿(1至12个月)
  • 幼儿(13至24个月)
  • 学龄前儿童(2至4年)
  • 学龄儿童(5至8岁)
  • 吐温(9至12年)
  • 青少年(13至19岁)
  • 年轻成人(20至35岁)
  • 中年成年人(36至55岁)
  • 老年人(56至100岁)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-03 06:10:26

用例说明,以确定年龄阶段;

代码语言:javascript
复制
   SELECT res_fName,res_mName,res_lName,rs.suffix,rg.gender_Name,TIMESTAMPDIFF(YEAR,res_Bday,CURDATE()) AS age,
(case  
 when (TIMESTAMPDIFF(Month,res_Bday,CURDATE())<=1) then 'Maternal and Newborn'
 when (TIMESTAMPDIFF(Month,res_Bday,CURDATE())<=1 and TIMESTAMPDIFF(Month,res_Bday,CURDATE())<=12) then 'Babies'
when (TIMESTAMPDIFF(Month,res_Bday,CURDATE())<=13 and TIMESTAMPDIFF(Month,res_Bday,CURDATE())<=24) then 'Toddlers'
when (TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=2 and TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=4) then 'Preschoolers'
 when (TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=5 and TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=8) then 'School Age Children'
 when (TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=9 and TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=12) then 'Tweens '
when (TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=13 and TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=19) then 'Teenager'
when (TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=20 and TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=35) then 'Young Adult'
when (TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=36 and TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=55) then 'Middle-Aged Adults'
when (TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=56 and TIMESTAMPDIFF(Year,res_Bday,CURDATE())<=100) then 'Senior'
   end) Age_Stage 
FROM resident_detail rd LEFT JOIN ref_suffixname rs ON rd.suffix_ID = rs.suffix_ID LEFT JOIN ref_gender rg ON rd.gender_ID = rg.gender_ID
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49081173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档