如何使用其他列值更新列?

时间:2018-07-26 11:15:20

标签: sql postgresql sql-update

我有一个空表,其中的行包含timestampfile_url列。

当我添加一行时,timestamp充满了Postgres current_timestamp值。同时,我想将file_url的值设为相同,但格式不同。

timestamp可以采用以下格式:2018-07-26 08:37:56.749125 而对于file_url,我想要类似http://somedomain.com/files/20180726083756.749125.jpg的东西。

如何一次运行?

1 个答案:

答案 0 :(得分:1)

您可以尝试在时间戳上使用TO_CHAR函数:

select to_char(timestamp '2018-07-26 08:37:56.749125', 'YYYYMMDDHH24MISS.MS');

这将输出20180726083756.749。如果您想构建一个URL,那么也可以使用字符串连接来实现,例如

INSERT INTO yourTable (ts_col, file_url)
SELECT
    current_timestamp,
    'http://somedomain.com/files/' ||
    TO_CHAR(current_timestamp, 'YYYYMMDDHH24MISS.MS') || '.jpg';