【问题标题】:SQL Server 2005: problem with old SQL Server 2000 databaseSQL Server 2005:旧 SQL Server 2000 数据库的问题
【发布时间】:2010-07-06 07:52:24
【问题描述】:

我将数据库从 SQL Server 2000 附加到 SQL Server 2005,它运行良好,但我有一个名为 (Add Date) 的列,其中包含输入数据的日期时间,当我在将数据库附加到 SQL Server 2005 后插入新数据时,具有相同数据的新数据插入 12.00 还将所有旧日期转换为 12.00。

请任何人帮助我如何解决这个问题以及如何检索旧日期时间?

【问题讨论】:

  • 你能给我们看个样品吗?我不明白你在问什么,真的....

标签: sql-server-2005 sql-server-2000


【解决方案1】:

我会从显而易见的第一个开始

  • 检查列属性以确保没有应用任何默认值
  • 更改数据库兼容性级别以确保其设置为 SQL Server 2005 (90)
    (右键单击数据库属性 > 选项选项卡)

编辑:

如果您想格式化插入(添加日期)字段的日期,您可以使用 CONVERT 或 CAST 函数。

【讨论】:

  • 您是什么意思?检查列属性以确保没有应用任何默认值?
  • 在您的表格设计中,检查名为(添加日期)的列,确保默认值或绑定中没有任何内容。
  • 我做了你提到的所有事情,我能做什么转换函数,我有字段(Add_data)日期时间的数据类型
【解决方案2】:

解决方案 1: 再次附加旧数据库,将其命名为“old_bak” 然后像这样写 t-sql:

UPDATE XX
SET col = T.col
WHERE
    XX.id = old_bak.dbo.XX.id

然后旧数据将被检索!

解决方案 2: 从 .bak 文件回滚数据库 并再次执行你的 sql 语句

我怀疑您的 sql 语句是“更新”,而不是“插入”。否则就不会那样了。

【讨论】:

  • 我不明白你我有一个名为 (HA) 的数据库,以及具有数据日期时间插入 (Add_Date) 的列
猜你喜欢
  • 2010-10-11
  • 1970-01-01
  • 2010-12-17
  • 1970-01-01
  • 2011-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-24
相关资源
最近更新 更多