sql - 如何在sql查询中将年月显示为1Y2M
问题描述
我有一个查询来检索两个日期之间的月数 -
select Trunc(Months_between(Trunc(SYSDATE), CUR_EFF_DATE ) / 12, 1)
from xyz
现在此查询返回数据,如 - 0.1、1.5 等。我希望查询给出 1 年 2 个月、1 个月等结果。如何实现?
解决方案
我会看文档:
区间数据类型没有格式模型。因此,要调整它们的呈现方式,就必须将字符函数组合起来,
EXTRACT
并将组件连接起来。
下面是一个示例,它看起来很像您的用例,可以进行如下调整:
select
extract(year from (sysdate - cur_eff_date) year to month)
|| ' year(s) '
|| extract(month from (sysdate - cur_eff_date) year to month)
|| ' month(s)'
as date_diff
from xyz
推荐阅读
- android - 为特定的工件发布创建 gradle 任务
- ada - 在 Ada 中混合输入呼叫和接受选择?
- yii2 - 从 Yii2 中的活动数据提供者中删除数据
- java - 如何显示下拉列表的某些选定值
- keras - 无法在多标签分类器上使用 Stratified-K-Fold
- jenkins - BlueOcean 在并行阶段之前未显示输入
- asp.net - 如何在 asp.net 报表查看器中显示数据库中保存的二维码
- python - 需要将抓取的数据写入 csv 文件(线程)
- node.js - 适用于 Node.js 的 Twilio Lookup API - 验证并获取 E.164 格式
- vue.js - jest.fn() 声称没有被调用,但有