Не могу поверить, что никто еще не упомянул Барбару Лисков. Когда она разработала CLU в 1974 году, она столкнулась с этой же проблемой терминологии, и она придумала термин , разделив (также известный как вызов путем совместного использования объектов и вызов по объекту ) для этого конкретного случая «вызов по значению, где значение является ссылкой».
CAST(timestamp_expression AS DATE)
Например, запрос: SELECT CAST(SYSTIMESTAMP AS DATE) FROM dual;
Это может быть неправильный способ сделать это. Но я решил проблему с помощью функции подстроки.
Select max(start_ts), min(start_ts)from db where SUBSTR(start_ts, 0,9) ='13-may-2016'
, используя это, я смог получить временную метку max и min.
Попробуйте использовать TRUNC
и TO_DATE
вместо
WHERE
TRUNC(start_ts) = TO_DATE('2016-05-13', 'YYYY-MM-DD')
. Вместо этого вы можете использовать >=
и <
, чтобы избежать использования функции в столбце start_ts
:
WHERE
start_ts >= TO_DATE('2016-05-13', 'YYYY-MM-DD')
AND start_ts < TO_DATE('2016-05-14', 'YYYY-MM-DD')
используйте это форматирование при выборе
to_char(systimestamp,'DD-MON-YYYY')
Например:
выберите to_char (systimestamp, «DD-MON-YYYY») из dual;
Если тип данных - это метка времени, то видимый формат не имеет значения.
Вам следует избегать преобразования данных на дату или использования to_char. Вместо этого сравните данные временной метки с отметками времени с помощью TO_TIMESTAMP ()
WHERE start_ts >= TO_TIMESTAMP('2016-05-13', 'YYYY-MM-DD')
AND start_ts < TO_TIMESTAMP('2016-05-14', 'YYYY-MM-DD')