我正在使用以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)上尝试相同的查询,它运行正常。