SQL Server 日期函数:EOMonth、DateFormat、Format、DatePart、DateName
一,月份的最后一天函数 EOMonth 返回指定日期的最后一天
EOMONTH ( start_date [, month_to_add ] ) 1,对于start_date 有两种输入方式,能够转换为Date的字符串类型 和 date 数据类型。
declare @date date
set @date=getdate()
select EOMONTH(@date),EOMONTH('2016-08-06'),EOMONTH('20160806')
2,month_to_add 是int 类型,能够为正整数,负整数和0,默认值是0,如果省略,那么使用默认值0。
http://common.cnblogs.com/images/copycode.gif
declare @date date
set @date=getdate()
select EOMONTH(@date) as CurrentMonth_EndDay,
EOMONTH(@date,1) as NextMonth_EndDay,
EOMONTH(@date,-1) as LastMonth_EndDay
http://common.cnblogs.com/images/copycode.gif
二,月份的第一天
使用DateFromParts 函数,能够从三个正整数(year,month,day)中获取date 类型。
DATEFROMPARTS ( year, month, day ) 1,只需要将day 参数设置1,就能获取月份的第一天。
declare @date date
set @date=getdate()
select DATEFROMPARTS(year(@date),month(@date),1)
三,Format 函数
Format 函数返回值得数据类型是:nvarchar 或 null
FORMAT ( value, format [, culture ] ) 参数 format 是日期/时间的显式格式:
[*] yyyy-MM-dd:表示年,月,日
[*] hh:mm:ss fffffff:表示时,分,秒,毫秒
1,以特定的格式: “yyyy:MMdd hh:mm:ss fffffff” 显式日期/时间
select format(SYSDATETIME(),'yyyy-MM-dd hh:mm:ss fffffff')http://images2015.cnblogs.com/blog/628084/201611/628084-20161101101130065-73542351.png
2,计算当前月份的第一天
FORMAT(GETDATE(),'yyyyMM01') 四,当前日期是周几
在SQL Server中,通过DataFirst选项设置一周的第一天,number是从1到7,表示一周的7天。
SET DATEFIRST { number | @number_var } 1,可以通过@@datefirst来获取设置的值
set DATEFIRST 1
select @@datefirst
2,使用函数datepart函数获取当天是周几
http://common.cnblogs.com/images/copycode.gif
set DATEFIRST 1
--select @@datefirst
--Result : 2
select datepart(WEEKDAY,getutcdate())
set DATEFIRST 2
--select @@datefirst
--Result: 1
select datepart(WEEKDAY,getutcdate())
http://common.cnblogs.com/images/copycode.gif
由于设置不同的DateFirst,会导致datepart返回不同的数值,所以必须借助@@DateFirst
http://common.cnblogs.com/images/copycode.gif
set DATEFIRST 2
--Result : 2
select Datepart(weekday, getdate()+@@datefirst - 1)
set DATEFIRST 1
--Result : 2
select Datepart(weekday, getdate()+@@datefirst - 1)
http://common.cnblogs.com/images/copycode.gif
五,使用DateName获取WeekDay的名字,跟DateFirst的设置没有关系,跟语言设置相关
3.1 查看当前的语言设置
select @@language 3.2 查看系统支持的语言
select alias,name, *
from sys.syslanguages
3.3 设置语言
--将语言设置为简体中文
set LANGUAGE 'Simplified Chinese'
--将语言设置为英语
set LANGUAGE 'us_english'
3.4 使用DateName获取WeekDay的名字
http://common.cnblogs.com/images/copycode.gif
set LANGUAGE 'Simplified Chinese'
--Result:星期二
selectDATENAME(WEEKDAY,getutcdate())
set LANGUAGE 'us_english'
--Result:Tuesday
selectDATENAME(WEEKDAY,getutcdate())
http://common.cnblogs.com/images/copycode.gif
页:
[1]