Omitting the Milliseconds in a Date(省略日期中的毫秒数)
问题描述
当我从 SQL Server 中选择时,我想获取一个日期,但省略了毫秒值,我希望它作为日期类型.因此,如果我有一个值 1/1/2009 1:23:11.923,我想省略毫秒但保留日期类型,以便它是值 1/1/2009 1:23:11.000(我知道你真的不能省略日期的毫秒值,只希望它为零).
When I select from SQL Server, I want to get a date, but omit the millisecond value, and I want it to be as a date type. So if I have a value 1/1/2009 1:23:11.923, I want to omit the millisecond but retain the date type, so that it will be the value 1/1/2009 1:23:11.000 (I know you really can't omit the millisecond value with a date, just want it to be zero).
SQL Server 中是否有函数可以执行此操作?还是我必须编写自己的函数?同样,我不希望它是 varchar 类型,而是 datetime 类型.
Is there a function in SQL Server to do this? Or do I have to write my own function? Again, I don't want it as a varchar type, but a datetime type.
推荐答案
如果你不想使用字符串转换,这里有一个解决方案:
If you don't want to use string conversions, here's a solution:
DECLARE @TheDate datetime, @Today datetime
SET @TheDate = GetDate()
SET @Today = DateAdd(dd, DateDiff(dd, 0, @TheDate), 0)
SELECT DateAdd(s, DateDiff(s, @Today, @TheDate), @Today)
这篇关于省略日期中的毫秒数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:省略日期中的毫秒数
基础教程推荐
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- 在多列上分布任意行 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
