可以用substring截取,也可以转换成datetime然后用year、month、day三个函数计算
以标准日期格式2012-12-19
10:50:02000为例
substring(col,1,4)=year
substring(col,6,2)=month
substring(col,9,2)=day
year(convert(datetime,col))、month(convert(datetime,col))、day(convert(datetime,col))
select convert(varchar(7),date_colName,121) from table
通过convert来对日期进行格式化,只返回年月部分。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
基本语法如下:
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
如上121的格式对应为:yyyy-mm-dd hh:mi:ssmmm(24h)
而上面定义的varchar(7),因此返回7个长度,即yyyy-mm
declare
@Interval int, --间隔天数
@BeginDate DateTime, --开始时间
@EndDate DateTime --结束时间
begin
set @BeginDate = DATEADD(day,-DAY(DATEADD(MONTH,-6,GETDATE()))+1,DATEADD(MONTH,-6,GETDATE()))
set @EndDate = EOMONTH(DATEADD(MONTH,-1,GETDATE()))
set @Interval = DATEDIFF(day,@BeginDate,@EndDate)
select @Interval
end
以上就是关于从sqlserver数据库中提取日期,并把年月日分别截取出来全部的内容,包括:从sqlserver数据库中提取日期,并把年月日分别截取出来、如何让sqlserver 只返回年和月、sqlserver获取最近六个月天数总和,例如现在是八月份,我要获取2-7月份天数总和等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)