我知道当我执行以下操作时,它会将getdate转换为int
select cast (getdate() as int)在我的服务器上,Getdate的输出是“40339 -06-11 14:42:20.100”,上面的命令要转换成的int是2010。这个整数是什么?这个int有没有考虑分钟和秒?我很困惑。请帮帮忙。
问候
曼约特
发布于 2010-06-11 11:04:34
此数字是自参考日期起的天数,即1/01/1900。您应该从以下位置获得相同的结果:
SELECT DATEDIFF(day, 0, GETDATE()) 在内部,SQL将datetimes存储为两个4字节整数。第一个整数(在语句中获取)表示自引用日期以来的天数。第二个整数表示自午夜以来的1/300秒间隔数。您可以通过将first转换为binary,然后转换为int来找到第二个整数:
SELECT CONVERT(int, CONVERT(binary(4), GETDATE()))https://stackoverflow.com/questions/3019884
复制相似问题