sql 时间取日期部分速度对比

select CONVERT(varchar(100), etime, 23),COUNT(imsi) from dbo.userEventInfo_partition
where etime >'20180101' and etime <'20180201'
group by CONVERT(varchar(100), etime, 23)

order by  CONVERT(varchar(100), etime, 23)


耗时 : 31S

select Datename(year,etime)+'-'+Datename(month,etime)+'-'+Datename(day,etime),COUNT(imsi) from dbo.userEventInfo_partition where etime >'20180101' and etime <'20180201'
group by Datename(year,etime)+'-'+Datename(month,etime)+'-'+Datename(day,etime)

order by  Datename(year,etime)+'-'+Datename(month,etime)+'-'+Datename(day,etime)


耗时 : 1S

可见字符处理是很耗时的。


补齐日期的两位数写法:


select Datename(YYYY,etime)+'-'+Datename(M,etime)+'-'+RIGHT('0'+ltrim(Datename(DD,etime)),2),COUNT(imsi) from dbo.userEventInfo_partition where etime >'20180101' and etime <'20180201'
group by Datename(YYYY,etime)+'-'+Datename(MM,etime)+'-'+RIGHT('0'+ltrim(Datename(DD,etime)),2)
order by  Datename(YYYY,etime)+'-'+Datename(MM,etime)+'-'+RIGHT('0'+ltrim(Datename(DD,etime)),2)


猜你喜欢

转载自blog.csdn.net/zyfzhangyafei/article/details/79531732
今日推荐