在where子句oracle中使用to_char

时间:2014-02-17 09:33:15

标签: sql oracle

我有一个名为room_allocation的表,想要提取1月份被录取的人的详细信息。所以我使用了以下查询:

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

输出为:

未找到数据

但是当我把它作为:

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

我得到的输出为:

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

所以请告诉我为什么它不适用于第一种情况。 谢谢。

2 个答案:

答案 0 :(得分:2)

使用格式修饰符FM。这将删除尾随空格。

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

答案 1 :(得分:0)

也许你在1月底有额外的空间。

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

删除它并再试一次