Sao*_*obi 11 sql t-sql sql-server sql-server-2005
我有一个字符串'2009-06-24 09:52:43.000',我需要将其插入到表的DateTime列中.
但是我不在乎时间,只想插入它作为2009-06-24 00:00:00.000
我怎么能在T-SQL中做到这一点?
GSe*_*erg 14
对于SQL Server 2005及更低版本:
CONVERT(varchar(8), @ParamDate, 112)    -- Supported way
CAST(FLOOR(CAST(@ParamDate AS float)) AS DATETIME)   -- Unsupported way
对于SQL Server 2008及更高版本:
CAST(@ParamDate AS DATE)
Kev*_*man 11
declare @originalDate datetime
select @originalDate = '2009-06-24 09:52:43.000'
declare @withoutTime datetime
select @withoutTime = dateadd(d, datediff(d, 0, @originalDate), 0)
select @withoutTime
SELECT CAST(CONVERT(VARCHAR,GETDATE(),102) AS DATETIME)
SELECT CAST(CONVERT(VARCHAR(10),'2009-06-24 09:52:43.000',102) AS DATETIME)
小智 5
我发现将日期转换为日期,然后转换为日期时间非常有效和直观。
 SELECT CAST(CAST(GETDATE() as date) as datetime)