带有to_char函数的Oracle sql错误

时间:2014-05-25 09:23:32

标签: sql oracle

我想根据日期进行搜索,当我使用此语句时,它会给我空结果

Select * from apps.xx_fa_track where TO_CHAR(trx_date, 'mm/dd/yyyy') = '5/25/2014'

Select  to_char(sysdate, 'MM/DD/YYYY') FROM apps.xx_fa_track 

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

您可以使用FM格式修饰符来停止具有前导零的日期的字符串格式:

where TO_CHAR(trx_date, 'FMmm/dd/yyyy') = '5/25/2014'

SQL Fiddle of the difference

但通常最好将固定值转换为列的数据类型:

where trx_date = TO_DATE('5/25/2014', 'mm/dd/yyyy')

如果您的trx_date包含时间部分,则可以使用范围覆盖整天,但不确定此处是否需要。

答案 1 :(得分:0)

我猜你应该用你的日期格式化两个数字“ 05 / 25/2014”。像这里:

Select * from apps.xx_fa_track where TO_CHAR(trx_date, 'mm/dd/yyyy') = '05/25/2014'