首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在postgreSQL中从时间戳中减去/添加分钟

如何在postgreSQL中从时间戳中减去/添加分钟
EN

Stack Overflow用户
提问于 2016-05-12 05:39:14
回答 1查看 26.4K关注 0票数 13

我有以下场景:

我有员工注册他们的签到/离开他们的工作。但他们有10分钟的耐受性。

我在此视图中获得的最新条目如下:

代码语言:javascript
复制
CREATE OR REPLACE VIEW employees_late_entries
(
  id,
  created_datetime,
  entry_datetime,
  contact_id,
  contact_name,
  user_id,
  employees_perm_id
)
AS 
 SELECT precence_records.id,
    precence_records.created AS created_datetime,
    ("substring"(precence_records.created::text, 0, 11) || ' '::text) || contacts.entry_time::text AS entry_datetime,
    contacts.id AS contact_id,
    contacts.name AS contact_name,
    precence_records.user_id,
    precence_records.employees_perm_id
   FROM precence_records,
    contacts
  WHERE 
    precence_records.type::text = 'entry'::text AND 
    contacts.employee = true AND 
    contacts.id = precence_records.contact_id AND 
    ( ("substring"(precence_records.created::text, 0, 11) || ' '::text) || contacts.entry_time::text) < precence_records.created::text AND 
    precence_records.employees_perm_id IS NULL;

precence_records.created是员工的签到时间,contacts.entry_time是员工的计划条目时间。

这是获取最新条目的condition contacts.entry_timeprecence_records.created

代码语言:javascript
复制
 ( ("substring"(precence_records.created::text, 0, 11) || ' '::text) || contacts.entry_time::text) < precence_records.created::text

所以我想做这样的事情:

代码语言:javascript
复制
 (  ("substring"(precence_records.created::text, 0, 11) || ' '::text) || (contacts.entry_time::text + 10 MINUTES)  ) < precence_records.created::text

数据类型:

precence_records.created时间戳contacts.entry_time VARCHAR

你能帮帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-12 09:07:12

PostgreSQL中的日期、时间和时间戳可以与间隔值相加/相减:

代码语言:javascript
复制
SELECT now()::time - INTERVAL '10 min'

如果您的时间戳字段是varchar,您可以先将其转换为timestamp数据类型,然后再减去间隔:

代码语言:javascript
复制
 ( (left(precence_records.created::text, 11) || ' ') ||
   (contacts.entry_time::time + INTERVAL '10min')::text )::timestamp <
 precence_records.created::timestamp
票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37173732

复制
相关文章

相似问题

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