PostgreSQL:在时间和日期之间使用T分隔符格式化时间戳

y53ybaqx  于 2022-11-23  发布在  PostgreSQL
关注(0)|答案(1)|浏览(196)

我的期望:

SELECT to_char(current_timestamp AT TIME ZONE 'UTC', 'YYYY-MM-DDTHH24-MI-SS')

以产生:

2022-11-11T11-29-51

但它产生:

我试过几种方法,但都不管用:

为方便起见进行查询:

SELECT to_char(current_timestamp AT TIME ZONE 'UTC', 'YYYY-MM-DDTHH24-MI-SS') as plain,
       to_char(current_timestamp AT TIME ZONE 'UTC', E'YYYY-MM-DD\'T\'HH24-MI-SS') as with_quotes,
       to_char(current_timestamp AT TIME ZONE 'UTC', 'YYYY-MM-DD\THH24-MI-SS') as with_backslash,
       to_char(current_timestamp AT TIME ZONE 'UTC', 'YYYY-MM-DDT HH24-MI-SS') as with_space

看起来T字母被解析为模式的一部分,然后在一个简单的示例中被跳过。

6tqwzwtp

6tqwzwtp1#

使用双引号转义一个常量值:
Quote from the manual
在to_char模板中允许使用普通文本,并且将按字面输出。您可以将子字符串放在双引号中,以强制将其解释为字面文本,即使它包含模板模式。例如,在'"Hello Year "YYYY'中,YYYY将被替换为年份数据,但Year中的单个Y将不会被替换

to_char(current_timestamp AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24-MI-SS')

相关问题