将SQL Serverdate时间转换为较短的date格式
我在SQL Server中有一个datetime
列,给我这样的数据10/27/2010 12:57:49 pm
,我想要查询此列,但只有SQL Server返回一天,一年和一年 – 例如。 2010 10 27
或类似的东西。
我应该研究哪些function?
我应该试图转换为另一种date数据types? 或者简单地把它转换成一个string?
看看CONVERT 。 第三个参数是要转换为的date时间样式。
例如
SELECT CONVERT(VARCHAR(10), GETDATE(), 103) -- dd/MM/yyyy format
尝试这个:
print cast(getdate() as date )
如果您需要date格式的结果,您可以使用:
Select Convert(DateTime, Convert(VarChar, GetDate(), 101))
除了CAST和CONVERT之外,如果您使用的是Sql Server 2008,则可以转换为datetypes(或使用该types开始),然后可以select再次转换为varchar:
declare @myDate date set @myDate = getdate() print cast(@myDate as varchar(10))
输出:
2012-01-17
在SQL Server 2005中,我会使用这个:
select replace(convert(char(10),getdate(),102),'.',' ')
结果:2015年03月05日
mm / dd / yy的最短date格式可以通过以下方式获得:
Select Convert(varchar(8),getdate(),1)
对于任何版本的SQL Server: dateadd (dd, datediff (dd,0, getdate ()),0)
只需添加date关键字。 例如,selectdate(订单date),从orderdate>'2014-10-01'group by date(orderdate)的订单计数(1);
订单date在date时间。 此查询将显示该date的订单而不是date时间。
应用于date时间列的date关键字会将其更改为短date。