2014-02-17 58 views
0

我有一個表叫room_allocation並要提取那些誰在我用下面的查詢January.So月份入住的細節工作這就是:與TO_CHAR在where子句中的Oracle

找不到數據

,但是當我把它作爲:

select to_char(adm_date,'Month') from room_allocation; 

我得到的輸出:

TO_CHAR(ADM_DATE,'MONTH') 
October 
November 
December 
January 

所以,請告訴我,爲什麼它不是在第一種情況下工作。 謝謝。

+3

因爲''月‘'是一個不同於'’January'' –

+0

與'更好的做到哪裏提取物(從adm_date月)= 1'因爲一月的名稱可以根據NLS設置 – smnbbrv

+0

不同謝謝大家 – user3318121

回答

2

使用格式修飾符FM。這將刪除尾隨空間。

SELECT * 
FROM room_allocation 
WHERE to_char(adm_date,'FMMonth')='January'; 
+0

非常感謝...這是工作.. – user3318121

0

也許你在1月底有額外的空間。

select * from room_allocation where to_char(adm_date,'Month')='January '; 

拆下,然後重試

+0

我可以知道downvote的原因嗎? – Incognito

+0

嗨問題不是空間,它是創造問題的尾部空間。感謝您的建議。 – user3318121