sql - 逾期 -10 表示逾期 10 分钟。将“-10”交换为逾期 10 分钟
问题描述
CASE WHEN Color LIKE '%RED%' THEN (10 - (DATEDIFF(MINUTE,Calltime,GETDATE())))
有时可能会给出 -10 的值。我的问题是当我得到一个 <0 的值时,我怎样才能将该值更改为逾期 10 分钟。
解决方案
您可以嵌套 CASE 语句,但由于您现在将文本引入整数值,因此您必须将所有输出转换为字符串:
CASE WHEN Color LIKE '%RED%' THEN
CASE WHEN (10 - (DATEDIFF(MINUTE,Calltime,GETDATE()))) >= 0 THEN CAST((10 - (DATEDIFF(MINUTE,Calltime,GETDATE()))) AS VARCHAR(MAX))
ELSE CAST(ABS((10 - (DATEDIFF(MINUTE,Calltime,GETDATE())))) AS VARCHAR(MAX)) + ' minutes overdue'
END
ELSE -- Additional SQL for when color is not red
END
推荐阅读
- java - 使用自动完成时 Eclipse 崩溃 - Java 错误日志为 EXCEPTION_ACCESS_VIOLATION
- mysql - Error when creating a table in MySql: check the manual that corresponds to your MySQL server version for the right syntax to use near ')'
- php - 选择输入选择后在数据库中显示数据
- sql - 二进制列等于 0 时重置 SQL 计数
- mysql - 我需要选择 Condition this
- c++ - 是否有一个 Windows 驱动程序函数可以等效于 Windows 文件 api SeFileAttributes
- python - 自定义提前停止功能——收敛后成本值开始加速上升时停止?
- apache-kafka - Apache Strimzi Kafka 桥实现
- swift - segue 数据传输不起作用。未显示每个字符具有的详细数据
- php - 使用 Laravel Eloquent 关系访问所有数据(一对多/反向)