【问题标题】:Add column to datatable and populate with query against same datatable in vb.net将列添加到数据表并使用针对 vb.net 中相同数据表的查询进行填充
【发布时间】:2013-06-24 16:01:35
【问题描述】:

我有一个包含五列的数据表。我想创建一个新列,其中包含所有行的两个日期时间字段之间的差异。

数据表 dtb 最初是从 sql server 数据库中填充的。 当前列是:ID、startDate、codeID、Param 和 endTime。 新列将是一个持续时间,即 endTime 和 startDate 之间的差异。 差异应该小于秒,所以如果这可以通过 sql 完成,我假设 datediff 带有毫秒参数。

【问题讨论】:

    标签: sql sql-server vb.net datatable


    【解决方案1】:

    select ID, startDate, codeID, Param, endTime, DateDiff(ms,endTime,startDate) As yourdiff from dtb 这将是您的查询。您要更改表格吗?

    【讨论】:

    • 如果差异不是太大以至于导致溢出,那么效果很好。
    • 确实如此“对于毫秒,startdate 和 enddate 之间的最大差异是 24 天 20 小时 31 分钟和 23.647 秒。”来自 msdn。 @NoAlias 那么有没有办法用毫秒来做超出这个范围的差异?
    • 好问题。在 .Net 中这应该不是问题,但 SQL 是进行这种更改的理想场所。
    • 是否可以将列添加到数据表中而不影响实际数据库中的表?是的,这就是我想要的查询,问题实际上是针对它如何在 vb 中实现并在数据表中创建新列。
    • 您不必向数据表添加新列,将查询添加到数据适配器并用数据适配器填充数据表,它应该会获得该列。如果它不起作用,请告诉我
    猜你喜欢
    • 1970-01-01
    • 2019-10-08
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    相关资源
    最近更新 更多