甲骨文:约会半年

问题描述 投票:1回答:3

我需要的是从日期到半年的转换:

  • 29.06.2018 -> 1
  • 01.05.2018 -> 1
  • 01.07.2018 -> 2
  • 15.10.2018 -> 2

我在这里找不到类似的东西Round and Truncate in Oracle

那么,确实没有内置函数吗?我很困惑,因为这不是一个非常罕见的用例。还是我错过了什么?

sql oracle date date-conversion
3个回答
1
投票

只需使用case表达式:

select (case when extract(month from datecol) <= 6 then 1
             else 2
        end) as half_year

1
投票

简单算术:

SELECT (EXTRACT(MONTH FROM somedate)-1)/6+1 

0
投票

我只想使用EXTRACT()

SELECT CEIL(EXTRACT(MONTH FROM mydate)/6)
  FROM mytable;
© www.soinside.com 2019 - 2024. All rights reserved.