0
我最近发现时间范围可能是empty
,它似乎与null
字段不同。查询Postgres中的空时间范围
db=# select tstzrange(now(), now());
tstzrange
-----------
empty
(1 row)
db=# select tstzrange(now(), now()) is null;
?column?
----------
f
(1 row)
如何匹配empty
字段进行查询?
out
-----
t
而对于一个非空的结果与查询关键词,比如:
select tstzrange(now(), now() + interval '1d') = 'empty' as out
它一贯生产:
太棒了!谢谢! 我很好奇它为什么这样工作,一个'tstzrange'类型的eval怎么能对一个字符串''empty''? – user5038859
看看它是如何实现的:https://www.postgresql.org/docs/current/static/rangetypes.html#RANGETYPES-IO 有一个'empty''到'tstzrange'类型的隐式转换。 –