Если вы используете Oracle, вы можете использовать to_char()
для преобразования значений. Вы должны быть осторожны, так как столбец Oracle date
может также содержать компонент времени:
WHERE trunc(col) = to_date('201411119', 'YYYYMMDD')
Тем не менее, лучше всего, чтобы избежать вызова функции по имени столбца - это затрудняет использование индексов. Итак, если вы знаете нет времени компонент, а затем использовать:
WHERE col = to_date('201411119', 'YYYYMMDD')
Если вы не уверены на 100%, а затем использовать:
WHERE col >= to_date('201411119', 'YYYYMMDD') AND col < to_date('201411119', 'YYYYMMDD') + 1
EDIT:
Если тип varchar2()
, то, по-видимому, он находится в том же формате, что и вход. Вы можете сделать:
WHERE SUBSTR(SENDINGTIME, 1, 8) = '20141119'
Если он имеет другой формат, то вы должны использовать to_date()
, чтобы преобразовать его, как описано выше.
В общем, вы должны хранить даты и время, используя собственные форматы баз данных - в конце концов, именно поэтому они есть. Если вам нужно сохранить их как символ, то YYYYMMDD - хороший выбор формата.
Каков тип этой колонки? –
Тип данных в этом столбце: VARCHAR2 – paul
, что я пытаюсь сделать, просто использовать функцию фильтра для отображения всех результатов с датой «20141119» – paul