Year(@time), Month(@time) 2 个函数即可。
然后用它们来组装字符串也就简单了。
CONVERT(VarChar(7), @time, 120)会得到YYYY-MM。调用。
用转成字符串,,但此时他已经不是时间类型。
CONVERT(char(7),"你的时间例",120)
可使用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、日期为日期格式,这种最简单,使用Month()函数即可获取月份,如:
select month(getdate()) from dual2、日期为yyyy-mm-dd格式的文本,这种情况下需要转换成日期格式再截取,如:
select TO_CHAR(to_date('2013-01-01', 'yyyy-MM-dd'), 'yyyyMM') dateStr from dual3、日期格式为其他格式,如yyyymmdd或yyyy/mm/dd的,此类格式类似第二种格式可以用类似的语句进行查询,只是转换成日期的时候的格式不一样。
注:以上SQL均基于ORACLE数据库
楼主应该不会使用的是如何取去年,或者上个月吧?
其实有很多种获取方法,比如:
convert(nvarchar(7),dateadd(month,-1,getdate()),23)--获取上个月,出现格式2016-12
year(getdate())-1 --上一年
另外可以再介绍几种常用函数:
getdate()--获取当前时间
year(时间字段)--获取时间字段的年
Month(时间字段)--获取时间字段的月
Day(时间字段)--获取时间字段的日
Dateadd(时间类型,相距数量,时间字段)--计算与时间字段相距的日期,时间类型可以是年月日时分秒等等
Datediff(时间类型,时间1,时间2)--计算两个时间的时间差,类型与上一个一致
以上就是关于SQL数据库中怎么将时间格式转换到年和月全部的内容,包括:SQL数据库中怎么将时间格式转换到年和月、sql如何按日期中的月份查询、SQL里怎么把日期截取为月份等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)