Postgre 时间间隔类型(Interval)

业务场景:

对时间进行操作,比如获取5分钟之前的时间,是 now() + '-5 minute',但是有时后面的间隔值是动态的,需要动态拼装,这是就需要把拼装好的字符串转变为时间间隔类型interval,如下:

SELECT
	(now() + 
		(-(CASE 
				WHEN configItem.Struct_Pick_Freq IS NULL OR configItem.Struct_Pick_Freq = '' 
					THEN 15 * 2 
				ELSE CAST (configItem.Struct_Pick_Freq AS NUMERIC ) * 2 
			END) || ' MINUTE')::INTERVAL 
	) COLLECT_DATE,
	T.DATA_TIME,
	record.ALARM_START_TIME,
	configItem.ID,
	configItem.Struct_Site 
FROM
	M_MONI_SITE_CONFIG_ITEM configItem,
	M_MONI_DATA T 
LEFT JOIN 
	MONI_UNNORMAL_RECORD record 
ON 
	T.site_item = record.CONFIG_ITEM_ID 
AND 
	record.ALARM_END_TIME IS NULL 
WHERE
	T.site_item = configItem.ID

参考链接:

syntax - What does :: do in PostgreSQL? - Stack Overflow

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wsdhla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值