首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将SAS ()、HOUR()和MINUTE()转换为PostgreSQL

将SAS ()、HOUR()和MINUTE()转换为PostgreSQL
EN

Stack Overflow用户
提问于 2022-11-17 14:44:02
回答 1查看 52关注 0票数 -1
代码语言:javascript
复制
(hour(date_column ) * 4)
+ ifn(minute(date_column ) = 0, 0
     , ifn(minute(date_column ) <= 15, 1
          , ifn(minute(date_column ) <= 30, 2
               , ifn(minute(date_column ) <= 45, 3, 4))))
 as date_no

在PostgreSQL中,这些函数的等效性是什么?

我试图在一小时内根据15分钟的间隔提取值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-17 15:01:00

如果您能更详细地解释您的目标和当前逻辑,这将有所帮助,但就目前而言,这样做就足够了:

代码语言:javascript
复制
select extract('hours' from date_column) * 4 
    + ceil(extract('minutes' from date_column) / 15) as date_no
from your_table;
  1. extract()在PostgreSQL中使用,因为hour()minute()在SAS中使用的是相同的东西。
  2. 您可以像使用CASE一样使用在SAS中,但是没有干扰素()对应。
  3. CEIL()两者都有中的工作原理是一样的,因此您也可以缩短替换所有IFN的SAS版本。
  4. 您可以有效地绑定日期/时间,以便查看date_bin()。通过使用INTNX()或普通ROUND() (12),可以在SAS中实现类似的效果。

演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74477363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档