猿问

SQL Server中删除日期时间部分的最佳方法

SQL Server中删除日期时间部分的最佳方法

在SQLServer中从日期时间字段中删除时间部分时,哪种方法提供最佳性能?

a) select DATEADD(dd, DATEDIFF(dd, 0, getdate()), 0)

b) select cast(convert(char(11), getdate(), 113) as datetime)

第二种方法确实会发送更多的字节,但这可能不像转换的速度那么重要。

两者似乎都非常快,但在处理成千上万行或更多行时,速度可能存在差异吗?

另外,是否可能有更好的方法来消除SQL中日期时间的时间部分?


函数式编程
浏览 2477回答 3
3回答

慕盖茨4494581

在SQLServer 2008中,可以使用:CONVERT(DATE, getdate(), 101)

素胚勾勒不出你

当然,这是一个古老的线索,但要使它完整。从SQL 2008中,您可以使用日期数据类型,这样您就可以简单地执行以下操作:SELECT CONVERT(DATE,GETDATE())
随时随地看视频慕课网APP
我要回答