Oracle 出生年月转周岁
时间: 2023-12-21 10:30:15 浏览: 100
ORACLE 毫秒与日期的相互转换示例
以下是Oracle计算年龄的SQL语句,可以将出生年月转换为周岁:
```sql
SELECT DECODE(SIGN(TRUNC(MONTHS_BETWEEN(sysdate, B.出生日期)) - 12),
-1, TRUNC(MONTHS_BETWEEN(sysdate, B.出生日期))||' '|| to_number(
CASE WHEN to_char(sysdate,'dd') >= to_char(B.出生日期,'dd')
THEN to_char(sysdate,'dd')-to_char(B.出生日期,'dd')
ELSE to_char(last_day(B.出生日期),'dd')-to_char(B.出生日期,'dd')+ to_char(sysdate,'dd')
END )||'/'||'30',NULL) BZYZSNL
FROM user B
```
其中,`sysdate`表示当前日期,`B.出生日期`表示出生日期。该SQL语句使用了Oracle内置函数`MONTHS_BETWEEN`计算两个日期之间的月份差,然后根据月份差来判断年龄是否满1周岁,最后根据实足年龄的月龄填写,以分数形式表示。
阅读全文