gpt4 book ai didi

sql - 更改 postgres 日期格式

转载 作者:行者123 更新时间:2023-11-29 12:39:07 24 4
gpt4 key购买 nike

有没有办法改变 Postgres 中日期的默认格式?

通常当我查询 Postgres 数据库时,日期显示为 yyyy-mm-dd hh:mm:ss+tz,例如 2011-02-21 11:30:00-05。

但是一个特定的程序日期是 yyyy-mm-dd hh:mm:ss.s,也就是说,没有时区,它显示十分之一秒。

显然有些东西正在改变默认的日期格式,但我不知道是什么或在哪里。我不认为这是一个服务器端配置参数,因为我可以使用不同的程序访问同一个数据库,并且我得到了带有时区的格式。

我很在意,因为除了更改格式外,它似乎还忽略了我的“设置时区”调用。所有时间都在美国东部时间出现。

附加信息:

如果我写“从某个表中选择某个日期”,我会得到“无时区”格式。但是,如果我写“select to_char(somedate::timestamptz, 'yyyy-mm-dd hh24:mi:ss-tz')”,那么时区会按照我的预期工作。

这对我来说真的听起来像是将所有时间戳设置为隐式为“to_char(date::timestamp, 'yyyy-mm-dd hh24:mi:ss.m')”。但是我在文档中找不到任何关于如果我愿意的话我将如何执行此操作的内容,我也无法在代码中找到任何似乎可以执行此操作的内容。虽然我不知道要寻找什么,但这并不能证明什么。

没关系:'(

我发现了我的问题。我在想我是在直接查看从数据库返回的字符串。但我忽略了它正在将其作为时间戳读取,然后将时间戳转换为字符串。这被埋在一个名为“getString”的函数中,这让我很失望。我以为它是 ResultSet.getString,但它实际上是我们自己的同名函数。哎呀。哪个白痴写了那个函数?!哦,是我...

感谢所有试图提供帮助的人。我会为你们每个人的麻烦点赞。

最佳答案

我相信表格列的指定方式不同。试试这些变体:

timestamp
timestamp(0) no millis
timestamptz with timezone
timestamptz(0) with timezone, no millis

关于sql - 更改 postgres 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5062554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com