可使用SQL
datediff
(时间差)来查询某个月份,这是最简的方法:
DATEDIFF
函数
功能
返回两个日期之间的间隔。
语法
DATEDIFF
(
date-part,
date-expression-1,
date-expression-2
)
date-part
:
year
|
quarter
|
month
|
week
|
day
|
hour
|
minute
|
second
|
millisecond
参数
date-part
指定要测量其间隔的日期部分。
要获取某个月的SQL为如下:
select
from
table
where
datediff(month,date_ColName,'2014-12-1')=0
date_ColName:为表中的日期格式的列
'2014-12-1':此为你要查询的某个月的日期格式。
1日期和字符转换函数用法(to_date,to_char)
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;
//日期转化为字符串
select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年
select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的月
select to_char(sysdate,'dd') as nowDay from dual; //获取时间的日
select to_char(sysdate,'hh24') as nowHour from dual; //获取时间的时
select to_char(sysdate,'mi') as nowMinute from dual; //获取时间的分
select to_char(sysdate,'ss') as nowSecond from dual; //获取时间的秒
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual//
2 select to_char( to_date(222,'J'),'Jsp') from dual
显示Two Hundred Twenty-Two
3 求某天是星期几
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;
星期一
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
monday
设置日期语言
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';
也可以这样
TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')
4 两个日期间的天数
select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;
5 时间为null的用法
select id, active_date from table1
UNION
select 1, TO_DATE(null) from dual;
注意要用TO_DATE(null)
6月份差
a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')
那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。
所以,当时间需要精确的时候,to_char还是必要的
以上就是关于sql如何按日期中的月份查询全部的内容,包括:sql如何按日期中的月份查询、select to_char(sysdate, 'MM' ) from dual 来获取月份、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)