Ult*_*tic 8 sql sql-server datetime date
我在截断数据方面遇到了一些麻烦.我正在使用SQL的GETDATE()函数来获取当前日期和时间并将它们输入到数据库中.但是,我只想将日期和时间保存到分钟.换句话说,我想在输入新数据时保存dd/mm/yyyy hh:mm:00.000或dd/mm/yyyy hh:mm.我该怎么做呢?
我应该注意到我正在使用MS-SQL.
Lás*_*ler 13
有很多方法可以做到这一点.
例如,您可以将生成的转换datetime,从GetDate()一个smalldatetime第一,点菜:
CAST(GetDate() AS smalldatetime)
Run Code Online (Sandbox Code Playgroud)
需要明确的是,这会将生成的秒数向上(或向下)舍入到最接近的分钟,具体取决于当前秒的值.
编辑:
或者,您可以让SQL Server截断一个datetime"更清洁"(READ:不舍入,因为该值被预截断)转换为smalldatetime:
CAST(DateAdd(minute, DateDiff(minute, 0, GetDate()), 0) AS smalldatetime)
Run Code Online (Sandbox Code Playgroud)
对于截断:
SELECT SMALLDATETIMEFROMPARTS(
datepart(year ,dt)
,datepart(month ,dt)
,datepart(day ,dt)
,datepart(hour ,dt)
,datepart(minute,dt)
)
FROM (SELECT GETDATE()) t(dt)
Run Code Online (Sandbox Code Playgroud)