我有一个字段,我需要用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。
答案 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;
输出: