SQL Server 2005-将毫秒列添加到日期时间列

SQL Server 2005-将毫秒列添加到日期时间列,sql,datetime,add,Sql,Datetime,Add,如何使用SQL server 2005组合2列 问题是DateTime存储在1列中,毫秒存储在另一列中 我想将毫秒添加到DateTime列中,以获得更准确的DateTime 我需要使用这个DateTime来查询精确到毫秒的记录 有什么想法吗 我需要用附加值替换DateTime SELECT * FROM TABLENAME WHERE [DateTime] >= '2011-04-12 12:00:00 AM' AND [DateTime] <= '2011-05-25 3:35

如何使用SQL server 2005组合2列

问题是DateTime存储在1列中,毫秒存储在另一列中

我想将毫秒添加到DateTime列中,以获得更准确的DateTime

我需要使用这个DateTime来查询精确到毫秒的记录

有什么想法吗

我需要用附加值替换DateTime

SELECT * 
FROM TABLENAME 
WHERE [DateTime] >= '2011-04-12 12:00:00 AM'
AND [DateTime] <= '2011-05-25 3:35:04 AM'
选择*
从表名
其中[DateTime]>='2011-04-12 12:00:00 AM'
和[DateTime]选择(ColumnA+ColumnB)作为ColumnZ
从桌子上


可能会解决您的问题。

好吧,首先解决您的问题:

SELECT DATEADD(millisecond,<milliscolumn>,<datetimecolumn>) from <table>
如果这是一个大表,那么索引可能很重要。如果无法更改填充此数据的内容,则可能需要将此计算作为持久化计算列添加到此表中,然后对其进行索引和查询


请注意,我已将您的两个比较替换为
之间的单个,并且还调整了日期时间字符串,使其不受区域设置的影响。

我需要使用以下日期时间值。从[DateTime]>='2011-04-12 12 12:00:00 AM'和[DateTime]@overule中选择*FROM TABLENAME-如果您要添加更具体的示例,最好将其编辑到您的问题中,而不是(尝试)将其作为注释添加到我的问题中answer@Damien_The_Unbeliever返回到问题。对于DATEADD(毫秒,[MillisecondColumn],[DateTime])毫秒是多少?它是毫秒值吗?对于[MillisecondColumn],它是保存毫秒值的数据库列吗?@overrule-MillisecondColumn就是这10个字符,没有引号。是的,
[MillisecondColumn]
TableName
中包含要添加的毫秒数的列的名称。有许多使用
DATEADD
的示例。
SELECT * FROM TABLENAME WHERE
    DATEADD(millisecond,[MillisecondColumn],[DateTime]) between
        '2011-04-12T12:00:00' AND '2011-05-25T03:35:04'