gpt4 book ai didi

oracle11g - Oracle Sql 仅获取日期数据类型中的月份和年份

转载 作者:行者123 更新时间:2023-12-03 23:23:43 24 4
gpt4 key购买 nike

我只想以 oracle 数据类型存储月份和年份。

我有一个像“01-FEB-2010”这样的日期存储在一个名为 time_period 的列中。

为了只获取月份和年份,我写了一个类似的查询

select to_char(time_period,'MON-YYYY') from fact_table;

我的结果是“FEB-2010”,这很好,但唯一的问题是它是 varchar 数据类型。

所以我确实喜欢
select to_date(to_char(time_period,'MON-YYYY'),'MON-YYYY') from fact_table

我得到 01-FEB-2010。是否不能在日期数据类型中仅存储 FEB-2010

最佳答案

最简单的解决方案是使用正确的数据类型创建列:DATE

例如:

  • 创建表:

    创建表 test_date (mydate date);
  • 插入行:

    插入 test_date 值 (to_date('01-01-2011','dd-mm-yyyy'));

  • 要获取月份和年份,请执行以下操作:
    select to_char(mydate, 'MM-YYYY') from test_date;

    您的结果如下:01-2011

    另一个很酷的功能是“提取”
    select extract(year from mydate) from test_date;

    这将返回:2011

    关于oracle11g - Oracle Sql 仅获取日期数据类型中的月份和年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6781179/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com