如何用Slect语句在Oracle数据库中查出具体某个月(年)的数据?

来源:百度知道 编辑:UC知道 时间:2024/05/31 02:19:12
初学Oracle,对它的语法不是很清楚,不知道怎么用SLECT语句查询具体某月的数据,不知道有没有高手能帮忙?是不是要用到LIKE关键字啊?
请注意,是在一张表中查找啊。
对,一楼的朋友说得对,那个字段就是日期类型的,可以不是要用到Like关键字吗?还有要用到区配符吧,像下划线和百分号之类的(—,%)?
不过,还是要谢谢这位朋友热心帮忙哟。

1、通常情况下,Like主要用在字符类型的查询中,不会用在日期类型中。即使要用在日期类型中,也是先转换成字符型再用like。用不用like关键看你的查询需求。
2、一般情况下,查询月份都带上年份,不然搞不清是哪一年的。
3、为了查询效率,一般尽可能左边直接用字段。
所以:
select * from [表名]
where [字段名] between to_date('20080801','yyyymmdd') and to_date('20080831','yyyymmdd')
要比
select * from [表名]
where to_char([字段名],'yyyymm') = '200808' -- 或者:to_char([字段名],'yyyymmdd') like '200808%'
效率高很多。

那个字段是日期类型的吗
如查询A表中的date字段的月份是1的信息

select * from A where Month(date) = 1

我这不是只用了一张A表中吗 ???

假如你的日期列是date
select to_char(date,'mm') from A;