postgresql – 更新范围类型的下限/上限
发布时间:2020-12-13 16:02:19 所属栏目:百科 来源:网络整理
导读:我有tstzrange类型的列(带时区范围的时间戳),我只需更新此值的上限或下限(并保持包含/独占边界) 我设法改变了 (-infinity,infinity) 同 UPDATE tableSET my_column = tstzrange( lower(my_column),now(),'()' ) 我有 (-infinity,current timestamp) 但我不知
我有tstzrange类型的列(带时区范围的时间戳),我只需更新此值的上限或下限(并保持包含/独占边界)
我设法改变了 (-infinity,infinity) 同 UPDATE table SET my_column = tstzrange( lower(my_column),now(),'()' ) 我有 (-infinity,<current timestamp>) 但我不知道如何保持默认范围的边界..这会改变甚至[]到() 解决方法
我错过了
found function,这样可以做到这一点
UPDATE table SET my_column = tstzrange( lower(my_column),concat( CASE WHEN lower_inc(my_column) THEN '[' ELSE '(' END,CASE WHEN upper_inc(my_column) THEN ']' ELSE ')' END ) ) 最好为此创建函数.或者还有其他(更简单/更好)的解决方案吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |