4

我需要将一个数据库的属性 datetime2 与另一个数据库的属性 datetime 进行比较,因为我找不到将 datetime 转换为 datetime2 的方法。

我测试这句话:

select CAST(FechaAlta AS datetime) from tutors

但返回此错误消息:

将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。

4

2 回答 2

3

数据类型的datetime2范围比datetime-datetime2可以容纳 和 之间的任何日期0001-01-019999-12-31datetime开始于01/01/1753(有一些晦涩的原因涉及第四代切斯特菲尔德伯爵,在这个时刻太神秘而无法进入)。

如果要将 datetime2 转换为 datetime,则必须处理超出范围的值,例如:

SELECT CASE WHEN FechaAlta < '1753-01-01' THEN NULL ELSE CAST(FechaAlta AS DateTime) END AS FechaAlta_As_DateTime FROM Tutors
于 2015-07-24T14:18:35.737 回答
-2

datetime首先以相同的格式获取 datetime2 和 datetime 。假设他们都属于date datatype并且你正在努力Oracle

TO_DATE(TO_CHAR(DATETIME2,'YYYYMMDD HH24:MI:SS')) = TO_DATE(TO_CHAR(DATETIME,'YYYYMMDD HH24:MI:SS')) 
于 2015-07-24T14:15:58.107 回答