Pet*_*jci 4 postgresql postgresql-9.2
是否可以定义now()为tztsrangepostgresql 9.2中引入的数据类型的起始值?我试着用这个
ALTER TABLE test_table ALTER COLUMN tstz_range SET DEFAULT '[now,infinity]'::tstzrange;
Run Code Online (Sandbox Code Playgroud)
但是在这样的表达式now()中,通过改变表来评估当前时间戳,尽管总是相同的默认值:
'["2012-09-18 15:00:47.334196+02",infinity]'::tstzrange;
Run Code Online (Sandbox Code Playgroud)
如文档中所述,您可以使用相应的函数定义范围:
SELECT tstzrange(now(), 'infinity', '[)');
??????????????????????????????????????????????
? tstzrange ?
??????????????????????????????????????????????
? ["2012-09-18 15:33:50.186351+00",infinity) ?
??????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
因此,您可以使用以下函数轻松创建默认值:
CREATE TABLE plop (
id serial PRIMARY KEY,
some_range tstzrange DEFAULT tstzrange(now(), 'infinity', '[)')
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1500 次 |
| 最近记录: |