希望快点。

以下不起作用:

DECLARE @stringDate nvarchar(50)
SET @stringDate = '0001-01-01T12:00:00'

SELECT
    @stringDate AS StringDate,
    CONVERT(datetime, @stringDate, 126) AS ConvertedDate

产生错误:将 nvarchar 数据类型转换为 datetime 数据类型导致值超出范围。

实现转换的最简单方法是什么?

谢谢

最佳答案

Datetime 类型不支持 0001 年。支持的范围是 1753 到 9999。
作为一种解决方法,您可以改用 DateTime2 类型

SELECT
    @stringDate AS StringDate,
    CONVERT(datetime2, @stringDate, 126) AS ConvertedDate

10-04 21:39