Я хочу сравнить два столбца, который имеет другой формат даты - PullRequest
0 голосов
/ 20 ноября 2018

Я хочу сравнить два столбца с разным форматом даты.

REQ_END_TIME = 03-APR-18 06.15.30.000000000 AMSENDDATE = 4/3/2018

Оба имеют одинаковые даты, поэтому я просто хочу проверить, совпадает ли часть даты или нет, пропуская метку времени.SENDDATE формат M/D/YYYY

Как изменить его так, чтобы он был похож на проверку с запросом.

База данных - Oracle

Ответы [ 3 ]

0 голосов
/ 20 ноября 2018

Вы можете использовать CAST и to_date (with the format mask)

select * from mytable
 where to_date(CAST(REQ_END_TIME as char(10)), 'DD/MM/YYYY') =
 to_date(SENDDATE, 'MM/DD/YYYY')

Будет возвращено:

03.04.18   =   03.04.18

Скомпилированный запрос

0 голосов
/ 21 ноября 2018

Предполагается, что SENDDATE уже в формате даты

select (to_date(REQ_END_TIME,'M/D/YYYY') - SENDDATE ) COMPARE
from mytable
0 голосов
/ 20 ноября 2018

Вы бы конвертировали как в даты, так и в строки:

where to_date(substr(req_end_time, 9), 'DD-MON-YYYY') = to_date(send_date, 'MM/DD/YYYY')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...