如何转换为日期时间YYYY-MM-DD HH:mi:ss

时间:2016-07-14 16:50:36

标签: postgresql

我有一个字段,我需要用GETDATE()格式填充YYYY-MM-DD HH-MI-SS

有人可以帮我解决如何在PostgreSQL中编写查询吗?

我在SQL Server中试过这个并且它有效。不知道如何用PostgreSQL编写。

SELECT
    SUBSTRING(CONVERT(VARCHAR(23),GETDATE(),112),1,4) + '-' +
    SUBSTRING(CONVERT(VARCHAR(23),getdate(),112),5,2) + '-' +
    SUBSTRING(CONVERT(VARCHAR(23),getdate(),112),7,2) + ' ' +
    CONVERT(VARCHAR(8), GETDATE(), 108)

感谢您的帮助。 谢谢 Swathi。

1 个答案:

答案 0 :(得分:1)

NOW()TO_CHAR()一起使用应该为您做到:

SELECT TO_CHAR(NOW(),'YYYY-MM-DD HH-MI-SS');

文档:https://www.postgresql.org/docs/9.5/static/functions-formatting.html

添加一些额外的清晰度......

您的表格中包含日期时间类型的字段。更新字段时,必须使用相同类型的值更新它。

如果您想以特定格式返回该字段中的值,则可以在TO_CHAR()语句中使用SELECT

例如:

DROP TABLE IF EXISTS mytable;
CREATE TABLE mytable (mydate TIMESTAMP);
INSERT INTO mytable VALUES (NOW() - INTERVAL '20 days');

-- Update with the appropriate type
UPDATE mytable SET mydate = NOW();

-- Select the date in the format you want
SELECT mydate, TO_CHAR(mydate,'YYYY-MM-DD HH-MI-SS') AS mydate_text FROM mytable;

输出:

enter image description here