sql - 在 SQL 中截断秒和毫秒

标签 sql sql-server date datetime

我在截断数据方面遇到了一些麻烦。我正在使用 SQL 的 GETDATE() 函数来获取当前日期和时间并将它们输入到数据库中。但是,我只想将日期和时间保存到分钟。换句话说,我希望在输入新数据时保存 dd/mm/yyyy hh:mm:00.000 或 dd/mm/yyyy hh:mm 。我该怎么做呢?

我应该注意到我使用的是 MS-SQL。

最佳答案

有很多方法可以做到这一点。

例如,您可以转换生成的 datetime来自 GetDate()smalldatetime首先,à la:

CAST(GetDate() AS smalldatetime)

需要明确的是,这会将生成的秒数向上(或向下)四舍五入到最接近的分钟数,具体取决于当前秒的值。

编辑:

或者,您可以让 SQL Server 截断 datetime为您提供“更清洁”(阅读:没有舍入,因为该值已预先截断)转换为 smalldatetime :
CAST(DateAdd(minute, DateDiff(minute, 0, GetDate()), 0) AS smalldatetime)

关于sql - 在 SQL 中截断秒和毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24496489/

相关文章:

MySql 查询返回我不想要的结果

sql-server - 无法使用 SSIS 中的表达式将字符串转换为 DateTime

sql - 将查询结果连接到以逗号分隔的单行值

php - 从 Php 插入日期

python - pyodbc 是否支持任何形式的命名参数?

sql - '+' 附近的语法不正确 - SQL/TSQL

sql - PostgreSQL 每个州人口最多的 5 个县

asp.net - 创建数据库触发器到Sql DB

javascript - 在 Javascript 中修改 ISO 日期

Android:如何检查用户日期是否有效