从postgres中的时间戳中提取仅日期

时间:2019-06-20 15:00:07

标签: postgresql

在列示例中,我有一个'时间戳,没有时区':

PunchIn = "2019-06-10 09:10:00"

如何从此列中提取“ 2019-06-10 00:00:00”?

2 个答案:

答案 0 :(得分:0)

demo:db<>fiddle

SELECT my_date::date::timestamp

这会将日期列my_date转换为日期(剪切时间部分),如果将其强制转换回timestamp,它将获得0时间。

或者,您可以使用date_trunc函数:

SELECT date_trunc('day', my_date)

答案 1 :(得分:0)

SELECT SUBSTRING("PunchIn = '2019-06-10 09:10:00'" FROM 11 FOR 21); 应该返回您要查找的字符串(如果我正确计算索引号:)

您可以使用DATE函数提取日期:

SELECT DATE(SUBSTRING("PunchIn = '2019-06-10 09:10:00'" FROM 11 FOR 21));