我有tstzrange类型的列(带时区范围的时间戳),我只需更新此值的上限或下限(并保持包含/独占边界)
我设法改变了
(-infinity,infinity)
Run Code Online (Sandbox Code Playgroud)
同
UPDATE table
SET
my_column = tstzrange(
lower(my_column),
now(),
'()'
)
Run Code Online (Sandbox Code Playgroud)
我有
(-infinity, <current timestamp>)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何保持边界从默认范围.这将改变甚至[ ]到( )
UPDATE table
SET
my_column = tstzrange(
lower(my_column),
now(),
concat(
CASE WHEN lower_inc(my_column) THEN '[' ELSE '(' END,
CASE WHEN upper_inc(my_column) THEN ']' ELSE ')' END
)
)
Run Code Online (Sandbox Code Playgroud)
最好为此创建函数。还是有其他(简单/更好)的解决方案?
| 归档时间: |
|
| 查看次数: |
5344 次 |
| 最近记录: |