【问题标题】:ADO ADDBTIMESTAMP format changesADO ADDBTIMESTAMP 格式更改
【发布时间】:2016-11-01 15:25:09
【问题描述】:

好的,所以,这是一个奇怪的问题,这导致我失去了我剩下的一点头发。

我们有一些代码使用 ADO 从 SQL Server 中提取数据。该代码已经存在 7 或 8 年了,并且有一段时间没有被触及。

在函数中,我们检查返回字段的类型以进行某些转换,我们有这样的:

  case ( fieldType = ADDBTIMESTAMP$ )
     * // A date/time stamp (yyyymmddhhmmss plus a fraction 
     * // in billionths)
     * // Looksd like we're just getting MM/DD/YYYY
     * // ooh no sometimes we get 6/25/2010 11:35:00 AM

基本上,这意味着当字段的类型为 ADDBTIMESTAMP(或 135)时,无论出于何种原因,返回的日期有时为 MM/DD/YYYY,有时带时间戳,有时不带时间戳。

今天早上,所有日期字段现在都返回值 YYYY-MM-DD(包括破折号)。

我没有更改此代码。网络上的人发誓他们没有更新或修改过 SQL Server。我的工作站是 Win10,所以谁知道它有什么变化,但我没有看到过去几天有任何更新的迹象。

显然,有些事情发生了变化,考虑到我们现在正在以正确的格式获取数据,但是对于我的生活,我看不出会发生什么。

我们将不胜感激任何帮助、提示或精神病学建议。

谢谢。

【问题讨论】:

  • 我们没有看到您的代码或机器或 sql 服务器,我们不知道日期是否以字符串形式出现,但这一切都让我思考;排序规则已更改,或者更可能是生成日期的机器更改了“文化”设置。
  • +1 @RicardoC。除了这些要点;你能提供数据库中的样本记录吗? SQL Server 中使用什么数据类型?
  • 他们终于允许我访问其他一些机器。原来我的工作站是唯一有问题的工作站。他们正在运行各种操作系统。没有两个工作站具有相同的操作系统或版本或任何东西。他们决定一次卸载我机器上的更新,直到问题消失。我原以为更新我的工作站以匹配具有更高版本的 Win10 的机器会更容易,但我知道什么?不过感谢您的建议。
  • 感谢您的修改,@Marc_s。我刚刚剪切并粘贴了代码中的评论。我该如何关闭或回答这个问题,或者只是让人们忽略这个问题,因为它变成了工作站配置问题。谢谢。

标签: sql-server ado


【解决方案1】:

基本上,这是我正在使用的工作站的配置问题。其他工作站似乎没有问题。我不认为我会知道发生了什么。老实说,现在我查看了以前从未需要过的代码,我更担心在过去的 7 或 8 年中,每台机器上总是返回错误。

正是这样的事情让我想从事压力较小的工作,比如开一家餐馆。

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多