我正在SQL Server 2005中运行针对datetime列的select查询。我只能从这个datetime列中选择日期吗?
我正在SQL Server 2005中运行针对datetime列的select查询。我只能从这个datetime列中选择日期吗?
最佳方法是:
SELECT DATEADD(day, DATEDIFF(Day, 0, @ADate), 0)
SmallDateTime
,是秒,对于DateTime
是毫秒)*注意。 实际上,您必须跨越的日期边界(午夜)数量从一个日期到另一个日期不同。
select getdate(), convert(varchar(10),getdate(),120)
结果:
----------------------- ----------
2010-05-21 13:43:23.117 2010-05-21
您可以使用以下函数:
day(date)
month(date)
year(date)
CONVERT (date, GETUTCDATE())
CONVERT (date, GETDATE())
CONVERT (date, '2022-18-01')
说实话,我不知道为什么其他人会建议使用varchar(x)。
https://learn.microsoft.com/de-de/sql/t-sql/functions/getdate-transact-sql
DECLARE @dToday DATETIME
SET @dToday = CONVERT(nvarchar(20), GETDATE(), 101)
SELECT @dToday AS Today
这将返回今天的日期,时间为12:00am:'2010-05-21 00:00:00.000' 然后您可以根据需要在查询中使用@dToday变量