【问题标题】:how to add AM or PM in PostgreSQL in date format itself?如何以日期格式在 PostgreSQL 中添加 AM 或 PM?
【发布时间】:2013-11-27 13:45:45
【问题描述】:

选择 to_date(to_char(sysdate,'yyyy-mm-dd hh12:mi:ss AM'), 'yyyy-MM-dd HH12:MI:SS AM') 来自双重;

这在 oracle 中可以正常工作,但在 Postgres 中不行。

【问题讨论】:

  • 到目前为止你尝试了什么? Oracle PostgreSQL,查看手册
  • 我什么都试过了。问题很简单。没有时区数据类型的时间戳中带有子午线指示器的日期。没有必要对我的问题做 -1。
  • 查询一开始就没有意义。您正在将 sysdate 转换为格式化的 varchar 只是为了将该 varchar 转换回 date ,而 sysdate 是从该 sysdate 开始的。

标签: sql oracle postgresql


【解决方案1】:

您应该使用current_timestampnow(),而不是sysdate

SELECT TO_CHAR(current_timestamp, 'yyyy-mm-dd hh12:mi:ss AM')

【讨论】:

  • 我知道如果我使用 to_char 它会正常工作,但问题是我想要日期数据类型本身的 AM 或 PM 格式。在 oracle 中,默认日期格式是 12 小时,附加 AM PM。但在 postgresql 中,情况并非如此。因此,如果可以,请提供帮助。人们只是对我的问题做了-1而不理解它。
  • @alpha_calling 你的意思是,如果你在 oracle 中选择 SYSDATE,你会得到 AM/PM 格式的日期,如果你在 postgresql 中选择 current_timestamp,没有 to_char,它不会?
【解决方案2】:

用于添加 AM 或 PM 格式本身的表格。

创建表 date_tbl ( 身份证序列号, Date_time varchar (30) 默认 TO_CHAR(current_timestamp, 'yyyy-mm-dd hh:mi:ss AM') )

【讨论】:

    【解决方案3】:

    尝试下面的函数,通过 PostgreSQL 接受带有 AM/PM 的时间戳

    TO_CHAR(SYSDATE, 'MM/DD/YYYY HH12:MI:SS AM')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-17
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 2011-06-16
      • 2012-02-11
      相关资源
      最近更新 更多