SELECT GETDATE()
返回时间:2008-09-22 15:24:13.790
我想要没有时间部分的日期部分:2008-09-22 00:00:00.000
我怎么能得到那个?
SELECT GETDATE()
返回时间:2008-09-22 15:24:13.790
我想要没有时间部分的日期部分:2008-09-22 00:00:00.000
我怎么能得到那个?
当前回答
如果需要varchar形式的结果,则应执行
SELECT CONVERT(DATE, GETDATE()) --2014-03-26
SELECT CONVERT(VARCHAR(10), GETDATE(), 111) --2014/03/26
这已经在上文中提到。
如果需要日期和时间格式的结果,应使用以下任何查询
仅选择CONVERT(DATETIME,CONVERT)(VARCHAR(10),GETDATE(),111))作为日期2014-03-26 00:00:00.000选择CONVERT(日期时间,转换(VARCHAR(10),GETDATE(),112))作为仅日期2014-03-26 00:00:00.000声明@仅日期DATETIMESET@OnlyDate=DATEDIFF(DD,0,GETDATE())选择@OnlyDate作为OnlyDate2014-03-26 00:00:00.000
其他回答
以日期格式返回
CAST(订单日期AS日期)
以上代码将在sqlserver2010中运行
它将于2013年12月12日回归
对于SQL Server 2012,请使用以下代码
CONVERT(VARCHAR(10), OrderDate , 111)
在SQL Server 2000上
CAST(
(
STR( YEAR( GETDATE() ) ) + '/' +
STR( MONTH( GETDATE() ) ) + '/' +
STR( DAY( GETDATE() ) )
)
AS DATETIME)
为了获得指示的结果,我使用以下命令。
SELECT CONVERT(DATETIME,CONVERT(DATE,GETDATE()))
我认为它很有用。
如果您希望日期显示为2008-09-22 00:00:00.000
然后你可以用
SELECT CONVERT(datetime, (ROUND(convert(float, getdate()-.5),0)))
这将以问题中的格式显示日期
SELECT DATEADD(DD, DATEDIFF(DD, 0, GETDATE()), 0)
SELECT DATEADD(DAY, 0, DATEDIFF(DAY,0, GETDATE()))
SELECT CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 101))
编辑:前两个方法基本相同,out执行转换为varchar方法。