首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server2005-将毫秒列添加到DateTime列

问SQL Server2005-将毫秒列添加到DateTime列
EN

Stack Overflow用户
提问于 2011-05-26 17:10:13
回答 2查看 2.1K关注 0票数 0

如何使用SQL server2005合并2列?

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

我想把毫秒加到DateTime列上,这样就可以得到一个更准确的DateTime。

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

有什么想法吗?

我需要用添加的值替换DateTime。

代码语言:javascript
复制
SELECT * 
FROM TABLENAME 
WHERE [DateTime] >= '2011-04-12 12:00:00 AM'
AND [DateTime] <= '2011-05-25 3:35:04 AM'

然后运行查询。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-26 17:24:26

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

代码语言:javascript
复制
SELECT DATEADD(millisecond,<milliscolumn>,<datetimecolumn>) from <table>

然后提交一份bug报告,说明这些内容无论如何都应该存储在一个列中。

您可以根据示例查询执行此操作,但请注意,这会破坏服务器使用索引的可能性:

代码语言:javascript
复制
SELECT * FROM TABLENAME WHERE
    DATEADD(millisecond,[MillisecondColumn],[DateTime]) between
        '2011-04-12T12:00:00' AND '2011-05-25T03:35:04'

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

注意,我已经用一个BETWEEN替换了您的两个比较,还调整了日期时间字符串,使它们不受区域设置的影响。

票数 0
EN

Stack Overflow用户

发布于 2011-05-26 17:21:17

从表中选择(ColumnA + ColumnB)作为ColumnZ

也许能解决你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6136173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档