是否可以创建一个时间戳列,其中包含PostgreSQL中的子午线指示器?

时间:2013-04-22 15:47:05

标签: sql database postgresql

我正在尝试创建一个TIMESTAMP类型的列,以便以下列格式存储时间戳(即包括“AM”/“PM”指示符):

20-04-2013 06:56:37 AM

我想我可以使用to_char(..)函数并将时间戳存储为TEXT值,但是不能用vanilla TIMESTAMP列实现相同的效果吗?

2 个答案:

答案 0 :(得分:2)

如果要格式化时间戳,请在to_char时使用SELECT,或在客户端格式化日期。

时间戳没有格式。它们被存储为数据库中自1970-01-01 UTC以来的小数秒数,并且它们被格式化为输入和输出的ISO时间戳。在数据库中,它们只是一个数字。

无法覆盖默认的时间戳输出格式,因为这会导致设置混淆了期望单一格式的应用程序。

如果应用需要不同的日期输出格式,则必须通过适当的to_char来电询问。

答案 1 :(得分:1)

这大致是你在寻找什么?

select to_char(now(), 'DD-MM-YYYY HH12:MI:SS AM')