Sql 在where子句中使用to_char
我有一个名为room_allocation的表,希望提取1月份被录取者的详细信息。因此,我使用了以下查询:Sql 在where子句中使用to_char,sql,oracle,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') Octob
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
所以请告诉我为什么它在第一种情况下不起作用。
谢谢。也许是你一月底的额外空间
select * from room_allocation where to_char(adm_date,'Month')='January ';
删除该选项,然后再试一次可能是1月底的额外空间
select * from room_allocation where to_char(adm_date,'Month')='January ';
删除该选项并重试使用格式修改器
FM
。这将删除尾随空间
SELECT *
FROM room_allocation
WHERE to_char(adm_date,'FMMonth')='January';
使用格式修改器
FM
。这将删除尾随空间
SELECT *
FROM room_allocation
WHERE to_char(adm_date,'FMMonth')='January';
因为
'janur'
的值与'janur'
的值不同,使用提取(从adm_日期算起的月份)=1更好,因为根据NLS设置,一月名称可能不同,因为'janur'
的值与'janur'
的值不同,使用提取的位置更好(自行政日起的月份)=1
因为根据NLS设置,一月名称可能会有所不同。我可以知道向下投票的原因吗?嗨,问题不在于空格,而在于尾随空格。谢谢你的建议。我可以知道向下投票的原因吗?嗨,问题不在于空格,而在于尾随空格。谢谢It’谢谢你的建议。非常感谢……它起作用了。非常感谢……它起作用了。。