在日期中使用通配符搜索查询

时间:2011-11-23 00:02:02

标签: oracle

我正在尝试根据日期搜索数据库以查找记录。但搜索基于月份和年份。即mm/yyyy和dd是外卡。

我的搜索查询如下:

Select ucid, uc_name, From (UC_Table1)
where UC_Date like To_Date('11/*/2011','mm/dd/yyyy')

这给了我以下错误: ORA-01858:找到了一个非数字字符,其中数字是预期的,所以显然它不喜欢*%_?作为dd的卡片。

1 个答案:

答案 0 :(得分:4)

通配符在函数中不起作用。 To_Date()函数在*有机会看到它之前解析LIKE。考虑:

SELECT ucid, uc_name
FROM UC_Table1
WHERE UC_Date >= To_Date('11/01/2011', 'mm/dd/yyyy')
   AND UC_Date < To_Date('12/01/2011', 'mm/dd/yyyy')