我有一个包含CREATE TABLE validity (
window INTERVAL NOT NULL
);
列的表格,就像这样。
iso_8601
假设存储的值是' P3DT1H'以3 days 01:00:00
格式。
当我尝试读取该值时,它以常规的postgres格式出现。
iso_8601
但是我想要@FeignClient(name = "hello-service", url = "http://hello-service")
public interface HelloService {
@RequestMapping(method = RequestMethod.GET, value = "/hello")
String hello(@PathVariable("name") String name);
}
格式的值。我怎样才能实现它?
答案 0 :(得分:1)
您可以使用SET intervalstyle
查询并将样式设置为_, err := s.db.Exec("SET intervalstyle='iso_8601'")
res, err := s.db.Query("select interval '1d1m'")
// res contains a row with P1DT1M
。然后,当您输出结果时,它们将采用ISO 8601格式。
intervalstyle
如果您正在寻找一种方法来更改服务器级别上所有会话的-- connect to your psql using whatever client, e.g. cli and run
SHOW config_file;
-- in my case: /usr/local/var/postgres/postgresql.conf
,您可以在配置文件中更新它:
intervalstyle = 'iso_8601'
编辑此文件并添加以下行:
intervalstyle
在我的情况下,该文件已经有postgres
注释掉的行,其值为{{1}}。您应该更改它并重新启动服务。
这样,每次运行查询时都不必从golang更改样式。
答案 1 :(得分:1)
intervalstyle
你可能是looking for so=# set intervalstyle to iso_8601;
SET
so=# select w From validity;
w
--------
P3DT1H
(1 row)
content
每个事务/会话/角色/ db / cluster
肯定it can be set