如何用Slect语句在Oracle数据库中查出具体某个月(年)的数据?
初学Oracle,对它的语法不是很清楚,不知道怎么用SLECT语句查询具体某月的数据,不知道有没有高手能帮忙?是不是要用到LIKE关键字啊?请注意,是在一张表中查找啊。对...
初学Oracle,对它的语法不是很清楚,不知道怎么用SLECT语句查询具体某月的数据,不知道有没有高手能帮忙?是不是要用到LIKE关键字啊?
请注意,是在一张表中查找啊。
对,一楼的朋友说得对,那个字段就是日期类型的,可以不是要用到Like关键字吗?还有要用到区配符吧,像下划线和百分号之类的(—,%)?
不过,还是要谢谢这位朋友热心帮忙哟。 展开
请注意,是在一张表中查找啊。
对,一楼的朋友说得对,那个字段就是日期类型的,可以不是要用到Like关键字吗?还有要用到区配符吧,像下划线和百分号之类的(—,%)?
不过,还是要谢谢这位朋友热心帮忙哟。 展开
3个回答
展开全部
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%'
效率高很多。
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%'
效率高很多。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假如你的日期列是date
select to_char(date,'mm') from A;
select to_char(date,'mm') from A;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询