比較我有以下TABLE.Sample1
:的Oracle SQL:提取的日期在時間戳
Col1(varchar) | Col2(timestamp)
---------------------------------------
A | 08-NOV-16 09.59.52.000000000 AM
B | 08-NOV-16 10.05.12.000000000 AM
C | 09-NOV-16 10.05.12.000000000 AM
假設我想要得到的所有行給出的DD MON YYYY
格式的日期。
這裏是我的初始查詢:
SELECT *
FROM Sample1
WHERE CAST(Col2 as DATE) = TO_DATE('8 NOV 2016','DD MON YYYY');
我很好奇,爲什麼這查詢不平等(=
)工作,但在不平等工作正常(>
,<
,<=
,>=
,<>
) 。我在這裏沒有比較相同的數據類型嗎?
我結束了使用TO_CHAR
功能,使其工作,但它引發的問題,是否有一個更簡單或更直接的方法呢?
SELECT *
FROM Sample1
WHERE TO_CHAR(CAST(Col2 as DATE)) = TO_CHAR(TO_DATE('8 NOV 2016','DD MON YYYY'));