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
我怎么能得到那个?
当前回答
从SQL SERVER 2012开始,您可以执行以下操作:
选择格式(GETDATE(),'yyyy-MM-dd 00:00:00.000')
其他回答
在这种情况下,仅限日期,我们将运行以下查询:
选择转换(VARCHAR(10),getdate(),111);
以日期格式返回
CAST(订单日期AS日期)
以上代码将在sqlserver2010中运行
它将于2013年12月12日回归
对于SQL Server 2012,请使用以下代码
CONVERT(VARCHAR(10), OrderDate , 111)
SQLServer2008现在有一个“日期”数据类型,它只包含一个日期,而不包含时间组件。使用SQLServer 2008及更高版本的任何人都可以执行以下操作:
SELECT CONVERT(date, GETDATE())
只要做到:
SELECT CAST(日期变量为日期)
或使用PostgreSQL:
SELECT date_variable::日期
这就是所谓的打字!
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, @your_date))
例如
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
给了我
2008-09-22 00:00:00.000
赞成的意见:
不需要varchar<->datetime转换无需考虑区域设置