sql server中字符串类型的日期如何比较大小

SQL Server 计算两个时间相差

案例:计算 标准结束时间 和 实际结束时间 之间的秒数差,并根据这个差值判断是否超时。

假设 test 表中有以下数据:

标准结束时间 实际结束时间
2024-10-12 10:00:00 2024-10-12 10:30:00
2024-10-12 11:00:00 2024-10-12 10:55:00
2024-10-12 12:00:00 2024-10-12 12:00:00
sql 复制代码
SELECT 
    CASE 
        WHEN DATEDIFF(SECOND, CAST(标准结束时间 AS DATETIME), CAST(实际结束时间 AS DATETIME)) > 0 
        THEN 1
        ELSE 0
    END AS '是否超时',
    DATEDIFF(SECOND, CAST(标准结束时间 AS DATETIME), CAST(实际结束时间 AS DATETIME)) AS '实际超时'
FROM test;
  • CASE 语句:根据 DATEDIFF 函数的结果来判断是否超时。
  • 如果 实际结束时间 晚于 标准结束时间,则 DATEDIFF 的结果会大于 0,此时返回 1 表示超时。
    否则返回 0 表示没有超时。
  • DATEDIFF(SECOND, ...):计算 标准结束时间 和 实际结束时间 之间的秒数差。

执行上述查询后,结果将是:

是否超时 实际超时
1 1800
0 -300
0 0

注意事项

  • 数据类型:确保 标准结束时间 和 实际结束时间 列的数据类型是 VARCHAR 或其他可以被转换为 DATETIME 类型的字符串格式。
  • 格式一致性:确保 标准结束时间 和 实际结束时间 的字符串格式与 CAST 函数兼容。常见的兼容格式包括 'yyyy-MM-dd HH:mm:ss'、'MM/dd/yyyy HH:mm:ss' 等。
相关推荐
YOU OU9 分钟前
Redis事务
数据库·redis·缓存
辰同学ovo19 分钟前
从一条 SQL 到三个原则:MySQL 心智模型
sql·mysql·adb
数智化管理手记38 分钟前
财务大数据怎么管住资金风险?财务大数据和财务数智化到底怎么结合?
大数据·网络·数据库·人工智能·数据挖掘
晓子文集39 分钟前
Tushare接口文档:指数成分和权重(index_weight)
大数据·数据库·python·金融·量化投资
吴声子夜歌1 小时前
MongoDB 4.2——入门指南
数据库·mongodb
吴声子夜歌1 小时前
MongoDB 4.x——高可靠
数据库·mongodb
light blue bird1 小时前
组轴式执行引擎 ✅ 多线程调度组装组件
数据库·信息可视化·oracle·桌面端winform·多节点端·gdi图表绘制开发
码农学院1 小时前
Node.js MongoDB构建户外用品GEO优化内容管理平台
数据库·mongodb·node.js
吴声子夜歌1 小时前
MongoDB 4.x——治理经验
数据库·mongodb
黄华SJ520it2 小时前
门店预约系统开发:提升服务行业数字化转型
前端·数据库·系统开发