首页 > 解决方案 > 在 Postgres sql 中将没有时区的时间的默认值插入为 hh:mm:ss 格式

问题描述

我使用 postgres sql 作为我的数据库,并且我有一个名为 event_time 的列。此列的数据类型是没有时区的时间。我想将此列的默认值设置为当前时间,格式为 hh:mm:ss。我现在用过。但我得到的输出如下所示。

17:39:33.476712

我希望格式仅为 hh:mm:ss 并且我想删除微秒。那么,可以使用 now() 函数实现格式(hh:mm:ss)吗?

CREATE TABLE public.event_notifications
(
     event_time time(6) without time zone DEFAULT now(),

)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

标签: postgresql

解决方案


time没有“格式”。您看到的任何格式都由显示该列中值的应用程序应用。

如果您从应用程序内部显示值,则使用您的编程语言支持的任何格式化函数。

如果要格式化 SQL 查询输出中的值,请检查 SQL 客户端的配置是否可以调整time值的显示格式。

或者包含to_char(event_time, 'hh24:mi:ss')在您的查询中以获取时间值作为格式化字符串。


推荐阅读