SQL Server将INT转换为DATE - “MS DTC已取消分发事务”

时间:2018-02-06 18:33:25

标签: sql sql-server tsql

我正在使用以int格式存储日期密钥为YYYYMMDD的数据库。我需要将这些转换为日期。

我发现我可以使用以下形式的查询使用单个记录执行此操作:

SELECT
        recordID
        , CAST(CAST(dateID AS VARCHAR(8)) AS DATE) AS recordDate
FROM
        records
WHERE
        recordID IN (1)

但是,如果我尝试对多个记录(例如recordID IN (1, 2, 3, 4, 5

执行此操作

我收到以下消息:

The Microsoft Distributed Transaction Coordinator (MS DTC) has cancelled the distributed transaction.

我已经单独检查了每条记录,如果仅为一条记录运行,则查询运行正常。

同样有点奇怪的是,如果我在另一个我们的数据库(也是SQL Server)上尝试相同的查询,它运行正常。

0 个答案:

没有答案