我需要在TSQL查询的帮助下检索当前日期

我需要在TSQL查询的帮助下检索当前日期,tsql,Tsql,我是T-SQL的新手,所以我的问题可能看起来很幼稚 我需要在TSQL查询的帮助下检索当前日期 我可以通过GETDATE()函数实现这一点,但函数 将此格式返回给我04-03-2012 13:58:02 我只需要得到没有小时分和秒的日期 你知道怎么做吗 提前感谢。这将从datetime对象中删除时间。因此,其格式为04-03-2012 00:00:00 DECLARE @d datetime SET @d = GETDATE() SET @d = DATEADD(dd, 0, DATEDIFF(d

我是T-SQL的新手,所以我的问题可能看起来很幼稚

我需要在TSQL查询的帮助下检索当前日期

我可以通过
GETDATE()
函数实现这一点,但函数

将此格式返回给我04-03-2012 13:58:02

我只需要得到没有小时分和秒的日期

你知道怎么做吗


提前感谢。

这将从
datetime
对象中删除时间。因此,其格式为
04-03-2012 00:00:00

DECLARE @d datetime
SET @d = GETDATE()
SET @d = DATEADD(dd, 0, DATEDIFF(dd, 0, @d))

SELECT @d

如果您根本不想发送任何时间,那么这就不是严格意义上的
datetime
对象,您应该将其作为字符串传递:

SELECT CONVERT(NVARCHAR(10), GETDATE(), 101)

然而,就我个人而言,我总是将值作为
datetime
对象发回,然后在应用程序级别格式化日期。将日期转换为字符串后,尝试将其转换回日期是一种不好的做法,可能会导致以后出现问题。

这将从
datetime
对象中删除时间。因此,其格式为
04-03-2012 00:00:00

DECLARE @d datetime
SET @d = GETDATE()
SET @d = DATEADD(dd, 0, DATEDIFF(dd, 0, @d))

SELECT @d

如果您根本不想发送任何时间,那么这就不是严格意义上的
datetime
对象,您应该将其作为字符串传递:

SELECT CONVERT(NVARCHAR(10), GETDATE(), 101)

然而,就我个人而言,我总是将值作为
datetime
对象发回,然后在应用程序级别格式化日期。一旦将日期转换为字符串,尝试将其转换回日期是一种不好的做法,可能会在以后给您带来问题。

04-03-2012 00:00:00:00我可以删除小时部分吗?(00:00)?@Michael请参阅我关于删除
00:00:00
04-03-2012 00:00:00:00我可以删除小时部分的答案的第二部分吗(00:00:00)?@Michael请看我关于删除
00:00:00