Мне нужно конвертировать формат даты, который хранится как VARCHAR в несколько дней - PullRequest
0 голосов
/ 14 июня 2019

Мне нужно преобразовать столбец даты, который хранится как varchar, в дни. У меня в двух столбцах checkout (varchar) хранится дата как 2019-06-01, и checkin также сохраняет дату в том же формате.

Я пытаюсь найти разницу между датами заезда и выезда и хочу, чтобы выходные данные содержали только значение дней.

Примечание: я использую интерфейс Metabase для этой проблемы

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 00: 00: 00.000 я просто хочу 1

Ответы [ 2 ]

0 голосов
/ 08 июля 2019

Попробуйте это:

select date_part('day',cast(checkout as timestamp)) - date_part('day',cast(checkin as timestamp)) as Dateand 
from sampledb.bookings
limit 10
0 голосов
/ 14 июня 2019

Пример того, что вам нужно:

SELECT DATE_PART («день», checkout :: date) - DATE_PART («день», checkin :: date) FROM sampledb.bookings;

...