sql - 在保留时间的 SQL 存储过程中将 datetime 转换为 smalldatetime?
问题描述
我有一个存储过程,它从数据库中获取数据,该数据库使用 datetime 类型的列(其中有一个有效的时间值),它更新了另一个恰好使用 smalldatetime 类型的数据库中的表。当尝试从 datetime 类型转换为 smalldatetime 类型时,我丢失了日期的时间部分。出于某种奇怪的原因,这个日期在我身上被四舍五入了。是否有某种特殊的从 datetime 到 smalldatetime 的转换语句可以保留该日期值的时间部分?
解决方案
显然,在挖掘了更多之后,我找到了问题的答案。smalldatetime 数据类型对秒进行四舍五入。如果是 :29 及以下,则转到前一分钟。如果是 :30 及以上,则进入下一分钟。我以前不知道这一点。真正愚蠢的是,您仍然可以在数据库中看到秒值,即使它始终是 :00。
推荐阅读
- excel - 如何从 for 循环变量中分配单元格值
- mysql - 连接mysql数据库中的三个表
- android - Volley onResponse 方法未触发
- java - 在java中映射json对象
- reactjs - 不确定函数的作用:语法
- microsoft-graph-api - 无法获取计划任务对话线程的所有评论
- asp.net-core - .resx 文件在 .cs 文件中使用时为空
- python - 根据单元格中的其他文本选择单元格中的链接文本
- debugging - 本地部署到 Intellij Tomcat 的 GWT 应用程序在支持 gwt 的客户端模块中看不到断点
- haskell - 身份解析器