从时间戳列中删除时间部分

Jak*_*ner 0 sql postgresql types

我这里需要专家的帮助。我有一个数据类型为“Actual_Date”的列timestamp。它的格式为:

yyyy - mm - dd 00:00:00 
Run Code Online (Sandbox Code Playgroud)

我想将列转换为以下格式:

mm - dd - yyyy 
Run Code Online (Sandbox Code Playgroud)

如何转换日期?

Erw*_*ter 8

确切的数据类型很重要。如果您有一个timestamp列 ( timestamp without time zone) 并且希望日期部分为date,只需转换:

SELECT my_timestamp::date;
Run Code Online (Sandbox Code Playgroud)

您可以使用timestamptz( timestamp with time zone) 执行相同操作,但结果日期取决于当前会话的时区设置。当前的“日期”取决于您询问的世界上的哪个地方......

或者您可以使用to_char()a_horseprovided获得text结果。

如果只是日期和时间戳如何显示的问题,请查看datestyle设置:

获得text独立于设置的可靠表示to_char()是安全的选择。