Oracle在DATE使用LIKE'%'

Mih*_*awk 7 sql oracle date-comparison

我的表myTab有列startDate,其数据类型为"DATE".此列中的数据存储如下dd.mm.yyyy.

现在我正在尝试使用此查询获取数据:

SELECT * FROM myTab WHERE startDate like '%01.2015"
Run Code Online (Sandbox Code Playgroud)

不知怎的,它不起作用,我不知道为什么.

希望有人能提供帮助.

Guf*_*ffa 19

要在日期上进行文本搜索,您必须将日期转换为文本.

如果您计算要查找的内容的第一个和最后一个日期并获取它们之间的所有内容,则效率会更高.这样它就可以作为数字比较而不是文本模式匹配来完成,如果有一个索引,它可以使用索引:

SELECT * FROM myTab WHERE startDate >= DATE '2015-01-01' AND startDate < DATE '2015-02-01'
Run Code Online (Sandbox Code Playgroud)