我需要将存储为varchar的日期格式转换为几天

时间:2019-06-14 09:04:28

标签: sql postgresql metabase

我需要将存储为varchar的date列转换为几天。我有两列checkout(varchar)将日期存储为2019-06-01,而checkin也以相同格式存储日期。

我正在尝试查找入住日期和退房日期之间的差异,并希望输出中仅包含days值。

注意:我正在使用元数据库界面来解决此问题

select (to_date(checkout, 'yyyy-mm-dd')-  to_date(checkin, 'yyyy-mm-dd')) as Dateand 
from sampledb.bookings 
limit 10

输出为1 00:00:00.000

我想摆脱时间值,我已经尝试过substr但总是出错。

我希望结果仅包含日期值,而不包含其他值。

我只需要1个而不是1个00:00:00.000

2 个答案:

答案 0 :(得分:0)

您需要的示例是:

SELECT DATE_PART('day',checkout :: date)-DATE_PART('day',checkin :: date)FROM sampledb.bookings;

答案 1 :(得分:0)

尝试一下:

select date_part('day',cast(checkout as timestamp)) - date_part('day',cast(checkin as timestamp)) as Dateand 
from sampledb.bookings
limit 10