如何基于出生年份计算近似年龄并在SQL查询中新增列
用出生年份计算近似年龄的SQL查询方案
没问题!既然你只需要近似年龄(误差在1年左右完全可接受),又不想修改数据库表结构,直接在查询语句里新增计算列就可以轻松搞定。不同数据库获取当前年份的语法略有不同,我给你整理了几个常用数据库的实现方式:
MySQL / MariaDB
SELECT *, YEAR(CURDATE()) - BirthYear AS ApproximateAge FROM your_table_name;
SQL Server
SELECT *, YEAR(GETDATE()) - BirthYear AS ApproximateAge FROM your_table_name;
PostgreSQL
SELECT *, EXTRACT(YEAR FROM CURRENT_DATE) - BirthYear AS ApproximateAge FROM your_table_name;
Oracle
SELECT *, EXTRACT(YEAR FROM SYSDATE) - BirthYear AS ApproximateAge FROM your_table_name;
简单说明
这种方法的核心就是用当前年份减去出生年份,虽然没法精确到具体的月日,但完全符合你对“近似年龄、误差一年左右”的要求,而且全程不需要修改任何表结构,直接在查询中生成计算列即可。
内容的提问来源于stack exchange,提问作者InterLinked
相关产品推荐
相关产品推荐

