代码之家  ›  专栏  ›  技术社区  ›  Aamir

在SQL Server中使用cast或convert将负int值转换为datetime

  •  0
  • Aamir  · 技术社区  · 14 年前

    例子:

    如果我这样做了:

    SELECT convert(datetime, 53691) as Calc
    
    OR
    
    SELECT cast(53691 as datetime)
    

    2047-01-01 00:00:00.000

    我需要的是如果我这样做:

    SELECT convert(datetime, -53691) as Calc
    
    OR
    
    SELECT cast(-53691 as datetime)
    

    我应该得到这样的东西:

    1753-01-01 00:00:00.000
    
    1 回复  |  直到 14 年前
        1
  •  2
  •   Damien_The_Unbeliever    14 年前

    -53690将是1753-01-01。-53691将您带出 datetime data type (不支持1753年之前的日期)。铸造-53690的工作原理和你的其他例子一样。