Oracle 出生年月转周岁
时间: 2023-12-21 14:30:15 浏览: 29
以下是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周岁,最后根据实足年龄的月龄填写,以分数形式表示。
相关问题
oracle日期格式转换年月日
您好!要将 Oracle 中的日期格式转换为年月日格式,可以使用 TO_CHAR 函数,例如:
```
SELECT TO_CHAR(your_date_column, 'YYYY-MM-DD') AS date
FROM your_table;
```
其中,your_date_column 是包含日期的列名,your_table 是包含该列的表名。'YYYY-MM-DD' 是日期转换的格式,其中 YYYY 表示年,MM 表示月,DD 表示日。您可以根据需要修改格式。
希望能对您有所帮助!
oracle英文日期转日期
您可以使用Oracle中的TO_DATE函数将英文日期字符串转换为日期格式。例如,假设您有一个英文日期字符串 "May 12, 2022",您可以使用以下查询将其转换为日期格式:
```
SELECT TO_DATE('May 12, 2022', 'Month DD, YYYY') FROM dual;
```
这将返回一个日期类型的值,表示 "May 12, 2022"。请注意,日期格式字符串中的大小写是敏感的。在上面的查询中,"Month"必须大写,否则将无法正确解析日期字符串。