1),這是爲什麼,這並不工作Oracle日期比較的字符串和日期
select * from table where trunc(field1)=to_date('25-AUG-15','DD-MON-YY');
select * from table where trunc(field1)=to_date('25/Aug/15','DD/MON/YY');
排在上述情況下返回。
那麼,這是否意味着無論日期在field1中的日期是什麼格式,如果它是有效日期並且與8月25日匹配,它將被返回(它不會在意在我們指定的格式說明符查詢的右側即DD-MON-YY或DD/MON/YY或其他)?
2),但作爲comparsion字符串完全工作:如進行準確的比較返回
select * from table where to_char(field1)=to_char(to_date
('25/AUG/15','DD/MON/YY'), 'DD/MON/YY');
沒有行。
我已經FIELD1爲'25 -AUG-15' (儘管它可以被看作做不同的ALTER會議NLS_DATE_FORMAT ...)
FIELD1是DATE類型
的理解這個任何幫助表示讚賞特別是關於點1
所以打印出to_char函數的值,看看它們是什麼。你想做什麼? – OldProgrammer
如果您在第一次投射中指定相同的格式,第二個查詢的行爲是否相同? 'to_char(field1,'DD/MON/YY')' –
我的觀點是,爲什麼第一種情況下返回的結果不考慮格式說明符,即它只返回8月25日的結果,但它並不關心日期格式 – user1502952