sql-server - 消息 529,级别 16,状态 2,行 1 不允许从数据类型 int 到时间的显式转换
问题描述
SELECT
Reference_Number,
c.First_Name + ' ' + c.Last_Name AS 'Customer_Name',
Staff_FirstName + ' ' + Staff_LastName AS 'Staff_Name',
Date_Time, Summary, OtherDetails,
CAST(Hold_Time AS TIME(0)) AS 'HoldTime',
CAST(Duration AS TIME(0)) AS 'Duration',
Call_Status
FROM
Support_Call AS tc
INNER JOIN
customer AS c ON c.CustomerID = c.CustomerID
INNER JOIN
staff AS s ON tc.StaffID = s.StaffID
WHERE
Call_Status LIKE 'Pending%'
ORDER BY
Date_Time DESC;
我正在尝试计算未决呼叫的所有详细信息,但出现错误。Reference_number
是INT
数据类型
解决方案
我猜 [Duration] (和/或 [Hold_Time])是 INT 类型,如果该值以分钟为单位(否则相应更改),然后使用:
CAST(DATEADD(mi, Duration, CAST(0 AS DATETIME)) as time(0)) AS 'Duration'
由于您使用 TIME(0) 数据类型,因此转换后的字段值不能大于 24h
推荐阅读
- python - 如何为不同大小的屏幕修复 QDialog 大小?
- kotlin - 检查什么类型的孩子有一个 LinearLayout
- google-cloud-platform - 通过云身份强制登录/用户创建以进行谷歌分析
- terraform - Terraform错误:│对资源类型的引用必须后跟至少一个属性访问,指定资源名称
- spring - RestClientException 不会回滚整个事务
- aws-lambda - Boto3 放大列表应用程序
- python - 您的网址格式 [
] 是无效的。DJANGO Urls.py 文件 - .net - 从 Web API 的 MongoDB 集合中获取所有文档
- vb.net - SqlConnectionStringBuilder:未设置 ApplicationName 属性
- bash - 如果更改了特定的配置,则执行管道