sql 计算年龄

SELECT pmi.patient_id,

pmi.name,

pmi.sex,

pmi.date_of_birth,

trunc(months_between(sysdate, pmi.date_of_birth) / 12) as age,

case

when floor(sysdate - pmi.date_of_birth) >= 365 then

concat(floor(months_between(sysdate, pmi.date_of_birth) / 12),

'岁')

when floor(sysdate - pmi.date_of_birth) < 365 and

floor(sysdate - pmi.date_of_birth) >= 30 then

concat(floor(months_between(sysdate, pmi.date_of_birth)), '月')

else

concat(floor(sysdate - pmi.date_of_birth), '天')

end as patient_age_desc

FROM pat_index pmi

order by pmi.create_date_time desc;

相关推荐
Coder_Boy_3 小时前
【Java核心】企业级高并发系统底层设计思想
java·前端·数据库·spring boot·高并发
知识即是力量ol3 小时前
口语八股:Redis 面试实战指南——基础篇、持久化篇
数据库·redis·面试·八股
学到头秃的suhian3 小时前
Redis的Java客户端
java·数据库·redis
yueyin1234563 小时前
在Django中安装、配置、使用CKEditor5,并将CKEditor5录入的文章展现出来,实现一个简单博客网站的功能
数据库·django·sqlite
人间打气筒(Ada)3 小时前
SQL Server 之创建和管理数据表
运维·服务器·数据库·windows·sql语句·sql server·windows server
eWidget3 小时前
核心系统迁移实战:如何保障从 Oracle 到国产架构的平滑过渡?
数据库·oracle·架构·kingbase·数据库平替用金仓·金仓数据库
Dovis(誓平步青云)3 小时前
《MySQL 事务深度解析:从 ACID 到实战,守住数据一致性的最后防线》
数据库·mysql·flink·etcd·功能详解
霖霖总总13 小时前
[小技巧69]为什么总说MySQL单表“别超 2000 万行”?一篇讲透 InnoDB 存储极限
数据库·mysql
安科士andxe13 小时前
实操指南|安科士1.25G CWDM SFP光模块选型、部署与运维全攻略
运维·数据库·5g