SQL Server转换为最佳短日期

ojhawkins

在SQL Sever中转换为谓词的最佳短日期是什么。

我有一个日期2013-06-11 15:06:27.000,想2013-06-11在谓词中使用短日期部分

为此目的,在SQL Server中最短的转换日期是什么?

MSDN-日期转换

博格丹·萨林(Bogdan Sahlean)

对于SQL2005 +:

注意: Select Convert(DateTime, Convert(VarChar, DateTimeColumn, 12)) <operator> <const>SARG能够!因此,如果您有索引,DateTimeColumn则SQL Server将无法Index Seek在此列上查找()。相反,SQL Server将使用的Index ScanClustered Index ScanTable Scan

如果要过滤列上的行,DATETIME可以使用DateTimeColumn >= RangeStart AND DateTimeColumn < RangeEndDateTimeColumn BETWEEN RangeStart AND RangeEnd谓词。

如何生成RangeStartRangeEnd

    DECLARE @SelectedDate DATETIME;
    SET     @SelectedDate='2013-06-11 15:06:27.000';

    SELECT  DATEADD(DAY,DATEDIFF(DAY,0,@SelectedDate),0) AS Start,
            DATEADD(DAY,DATEDIFF(DAY,0,@SelectedDate)+1,0) AS [End 1],
            DATEADD(MILLISECOND,-3,DATEADD(DAY,DATEDIFF(DAY,0,@SelectedDate)+1,0)) AS [End 2]

注2:对于DATETIME列,最后一个毫秒可以是其中之一{0,3,7}(请参阅BOL)。

结果:

Start                   End 1                   End 2
----------------------- ----------------------- -----------------------
2013-06-11 00:00:00.000 2013-06-12 00:00:00.000 2013-06-11 23:59:59.997

范例1:

...
WHERE   h.OrderDate>=DATEADD(DAY,DATEDIFF(DAY,0,@SelectedDate),0)
AND     h.OrderDate<DATEADD(DAY,DATEDIFF(DAY,0,@SelectedDate)+1,0)

范例2:

...    
WHERE   h.OrderDate>=DATEADD(DAY,DATEDIFF(DAY,0,@SelectedDate),0)
AND     h.OrderDate<=DATEADD(MILLISECOND,-3,DATEADD(DAY,DATEDIFF(DAY,0,@SelectedDate)+1,0))

范例3:

...
WHERE   h.OrderDate BETWEEN DATEADD(DAY,DATEDIFF(DAY,0,@SelectedDate),0) AND DATEADD(MILLISECOND,-3,DATEADD(DAY,DATEDIFF(DAY,0,@SelectedDate)+1,0))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在SQL Server中将int转换为日期

来自分类Dev

在SQL Server中将日期转换为varchar

来自分类Dev

在 SQL Server 中转换为日期时间

来自分类Dev

SQL Server日期在Analysis Services中转换为日期/时间

来自分类Dev

将日期时间转换为以下格式的SQL Server

来自分类Dev

将SQL Server日期转换为mm-yyyy

来自分类Dev

在SQL Server中将年月日转换为日期

来自分类Dev

在SQL Server中将VARCHAR转换为日期时间

来自分类Dev

将日期转换为CYYMMDD SQL-Server

来自分类Dev

将日期转换为SQL Server中的星期几

来自分类Dev

如何在SQL Server中将波斯日期转换为公历

来自分类Dev

SQL Server将日期转换为字符串MMMYYDD

来自分类Dev

在SQL Server中将字符串转换为日期

来自分类Dev

在SQL Server中将DDMMYYYY转换为YYYYMMDD日期格式?

来自分类Dev

在SQL Server中将年月日转换为日期

来自分类Dev

将日期转换为SQL Server中的星期几

来自分类Dev

将日期时间转换为以下格式的SQL Server

来自分类Dev

SQL Server将日期转换为字符串MMMYYDD

来自分类Dev

SQL Server:varchar转换为日期时间错误

来自分类Dev

将 INT 列转换为 SQL Server 中的日期时间

来自分类Dev

SQL Server - 将月份数字转换为日期对象

来自分类Dev

将周差异转换为周开始日期 SQL Server

来自分类Dev

SQL Server - 如何将 varchar 转换为日期

来自分类Dev

SQL Server:为什么转换为日期使用索引并转换为 nvarchar 不?

来自分类Dev

转换SQL Server日期格式

来自分类Dev

转换SQL Server日期格式

来自分类Dev

SQL Server中的日期转换

来自分类Dev

转换 SQL Server 日期格式

来自分类Dev

如何将node.js日期转换为与SQL Server兼容的日期时间?

Related 相关文章

热门标签

归档