【问题标题】:Error converting data type nvarchar to datetime SQL Server将数据类型 nvarchar 转换为日期时间 SQL Server 时出错
【发布时间】:2017-06-11 13:33:20
【问题描述】:

我遇到了问题

将数据类型 nvarchar 转换为日期时间时出错

在将日期作为26/01/2017 格式的字符串文字插入期间。我在插入期间在 SQL Server 中使用此代码:

CONVERT(DATETIME, @PaymentDate, 104)

【问题讨论】:

标签: c# sql asp.net sql-server


【解决方案1】:

试试CONVERT(DATETIME, @PaymentDate, 103)

104 是德国风格,在数字之间使用句点,而不是斜线。 103 是英式/法式风格。

见:https://msdn.microsoft.com/en-us/library/ms187928.aspx

【讨论】:

    【解决方案2】:

    我注意到您的问题也被标记为
    如果您将日期从 c# 传递到 sql server, 不要将日期作为字符串传递。将它们作为 DateTime 传递。
    .Net DateTime maps directly 到 SQL Server 的 DateTime
    这样一来,您就完全不必处理显示格式了,因为 c# 和 SQL Server 都不会在 DateTime 中存储显示格式。

    如果您确实需要将字符串 '26/01/2017' 转换为日期,您应该使用 103 作为您的样式参数,正如其他答案中已经建议的那样。

    【讨论】:

      【解决方案3】:

      这个例子运行没有任何问题:

      Declare  @PaymentDate  nvarchar(40)
      set @PaymentDate = '26/01/2017'
      SELECT CONVERT(DATETIME,@PaymentDate,104)
      

      结果:

      2017-01-26 00:00:00.000
      

      【讨论】:

        【解决方案4】:

        检查 sqlserver 中的日期格式,然后进行相应的转换。日期格式代码
        设置日期格式 mdy

        【讨论】:

          【解决方案5】:

          试试这些代码,确保日期值不为空且超过 1970-1-1。

          CONVERT(DATETIME,@PaymentDate,103)
          

          或者

          CONVERT(DATETIME,@PaymentDate,105)
          

          【讨论】:

            【解决方案6】:

            使用 SelectedDate 以防您保存数据并收到该错误 IE。 cmd.Parameters.AddWithValue("EndDate", EndDatep.DateInput.SelectedDate);

            【讨论】:

              【解决方案7】:

              我遇到的问题是日期格式正确但时间部分不正确,日期是这样的

              2021 年 7 月 28 日下午 00:00

              在 PM 中不可能有 00 小时,这就是 DB 在保存日期/时间时不接受它们的原因。 所以我将日期转换为

              2021 年 7 月 28 日上午 00:00

              它被保存了。也许对任何人都有帮助。

              【讨论】:

                猜你喜欢
                • 2015-12-16
                • 1970-01-01
                • 2018-04-20
                • 1970-01-01
                • 2017-05-06
                • 2016-01-20
                • 1970-01-01
                • 1970-01-01
                • 2015-02-13
                相关资源
                最近更新 更多