我在SQL Server中有一个datetime
列,它为我提供了这样的数据10/27/2010 12:57:49 pm
,我想查询此列,但只是让SQL Server返回日期月份和年份 - 例如。 2010 10 27
或类似的东西。
我应该研究哪些功能?
我应该尝试转换为其他日期数据类型吗?或者只是将其转换为字符串?
答案 0 :(得分:112)
答案 1 :(得分:47)
试试这个:
print cast(getdate() as date )
答案 2 :(得分:13)
如果您需要日期格式的结果,可以使用:
Select Convert(DateTime, Convert(VarChar, GetDate(), 101))
答案 3 :(得分:9)
除了CAST和CONVERT,如果您使用的是Sql Server 2008,您可以转换为日期类型(或使用该类型开头),然后可以选择再次转换为varchar:
declare @myDate date
set @myDate = getdate()
print cast(@myDate as varchar(10))
输出:
2012-01-17
答案 4 :(得分:6)
使用SQL Server 2005,我会使用它:
select replace(convert(char(10),getdate(),102),'.',' ')
成绩:2015 03 05
答案 5 :(得分:3)
mm / dd / yy的最短日期格式可以通过以下方式获得:
c = "ABCD"
cyc = itertools.cycle(c)
cyc_copy = cyc.copy()
for i in range(2):
print(next(cyc_copy))
cyc_copy = cyc.copy()
for i in range(2):
print(next(cyc_copy))
> A
B
A
B
答案 6 :(得分:0)
对于任何版本的SQL Server: dateadd (dd, datediff (dd,0, getdate ()),0)
答案 7 :(得分:0)
原始DateTime字段:[_Date_Time]
转换为Shortdate:'Short_Date'
CONVERT(date, [_Date_Time]) AS 'Short_Date'
答案 8 :(得分:-1)
只需添加日期关键字即可。 例如。从orderdate>的订单中选择日期(orderdate),count(1) ' 2014-10-01'按日期分组(orderdate);
orderdate是在日期时间。 此查询将显示该日期的订单而不是日期时间。
在日期时间列上应用的日期关键字会将其更改为短日期。