t-SQL CAST 日期返回少 2 天
有人可以解释一下为什么将日期时间转换为 date 会返回 2 天前的日期吗?
我刚刚遇到这个问题,需要理解。
只需执行此操作:
SELECT
CAST(FLOOR(CAST(GETDATE() AS float)) AS datetime) AS currDate,
CAST(CAST(FLOOR(CAST(GETDATE() AS float)) AS datetime) AS DATE) AS lessDays
在我的 Sql Server 2008 R2 中返回我此信息:
----------------------------------------------
| currDate | lessDays |
----------------------------------------------
| 2011-08-28 00:00:00.0 | 2011-08-26 |
----------------------------------------------
提前致谢
Can someone explain me why casting a datetime to date returns a 2 days prior date?
I just run into this, and need to understand.
Just execute this:
SELECT
CAST(FLOOR(CAST(GETDATE() AS float)) AS datetime) AS currDate,
CAST(CAST(FLOOR(CAST(GETDATE() AS float)) AS datetime) AS DATE) AS lessDays
In my Sql Server 2008 R2 Returns me this:
----------------------------------------------
| currDate | lessDays |
----------------------------------------------
| 2011-08-28 00:00:00.0 | 2011-08-26 |
----------------------------------------------
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是JDBC 驱动程序中的 bug 无法处理
Date
数据类型。有修补程序可用
This is a bug in the JDBC driver not coping with the
Date
datatype.A hotfix is available