我正在尝试创建一个TIMESTAMP
类型的列,以便以下列格式存储时间戳(即包括“AM”/“PM”指示符):
20-04-2013 06:56:37 AM
我想我可以使用to_char(..)
函数并将时间戳存储为TEXT
值,但是不能用vanilla TIMESTAMP
列实现相同的效果吗?
答案 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')