sqlserver 截取日期年份和月份使用datepart函数,函数使用方法如下:
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、做网站、外贸营销网站建设、云岩网络推广、微信小程序开发、云岩网络营销、云岩企业策划、云岩品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供云岩建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
一、函数功能:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
二、语法:DATEPART(datepart,date)
三、参数说明:date 参数是合法的日期表达式。datepart 参数可以是下列的值:
四、实例
1、截取年份:datepart(yy,'2017-1-1') 返回:2017
2、截取月份:datepart(mm,'2017-1-1') 返回:1
五、datepart函数返回的是整型数值,如果需要返回字符型,那么使用datename()函数,用法与datepart相同,只是返回数据类型不同。
谁说SQL没有定义星期的函数!!datepart,datename都可以。 select number,dateadd(month,-1,getdate()-(datepart(day,getdate())))+number from master.dbo.spt_values where type='p' and number between 1 and 31 and datepart(weekday,dateadd(month,-1,getdate()-(datepart(day,getdate())))+number) in (1,7) 这个语句可以实现,原理是配合系统的master.dbo.spt_values 表查询日期是在1或7的(外国星期日是1)
建两个作业就可以了,作业内用sql语句。 SQL Server自带的有这个功能。
试试select
dateadd
例如:向日期加上2天
select
dateadd(day,2,'2004-10-15')
--返回:2004-10-17
00:00:00.000
dateadd函数说明:
DateAdd
(interval,number,date)
以interval指定的方式,加上number之后的日期
参数
interval的设定值如下:
值
缩
写(Sql
Server)
(Access
和
ASP)
说明
Year
Yy
yyyy
年
1753
~
9999
Quarter
q
季
1
~
4
Month
Mm
m
月1
~
12
Day
of
year
Dy
y
一年的日数,一年中的第几日
1-366
Day
Dd
d
日,1-31
Weekday
Dw
w
一周的日数,一周中的第几日
1-7
Week
Wk
ww
周,一年中的第几周
~
51
Hour
Hh
h
时0
~
23
Minute
Mi
n
分钟0
~
59
Second
Ss
s
秒
~
59
Millisecond
Ms
-
毫秒
~
999
month(getdate())-month(createdate)-(case when day(getdate())day(createdate) then 1 else 0 end)