sql - SQL datediff函数数据转换错误
问题描述
我在查询中计算了字段,而它减去了两个日期之间的天数差。我正在使用 SQL 服务器来执行我的查询。
当我使用以下功能时:
Cast(DATEDIFF(D,ACTUALFINISHDATE,PROJFINISHDATE) as int) AS 'Elasped Days
两个日期字段都是datetime
日期类型(例如2019-02-23 00:00:00.000
)。我试过Convert()
代替Cast()
,但仍然遇到同样的问题。
我收到以下错误:
消息 242,级别 16,状态 3,第 7 行 将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。
我需要在转换varchar
之前将日期时间转换为吗?
解决方案
您必须在 ActualFinishDate 或 ProjFinishDate 中有错误数据。要查找不良数据...
Select ActualFinishDate
From YourTable
Where ActualFinishDate > ''
And IsDate(ActualFinishDate) = 0
推荐阅读
- python - 获取 PyPI 历史中不再列出的旧包版本
- android - 如何在 ANDROID STUDIO 中将元信息添加到捕获的图像
- sql - 有没有办法在 postgres 中存储预先排序的行?
- node.js - 使用 nodejs 更新 mongoDB 集合 // throw new TypeError('更新文档需要原子操作符');
- karate - 无法将字符串值与空手道中的 Int 值进行比较。如何将 Int 值转换为 String 值
- python - 使用 pyodbc 从 DB2 检索数据
- firebase - Firebase Firestore,使用可调用云函数删除集合
- python - Python 的 Tkinter 条目未出现在窗口中
- spring - 带有 JpaRepository 的 Spring Boot Rest API 中的错误
- c++ - 如何正确打开 Visual Studio 项目?