将SQL Server日期时间转换为较短的日期格式

时间:2012-01-17 20:18:46

标签: sql-server tsql datetime

我在SQL Server中有一个datetime列,它为我提供了这样的数据10/27/2010 12:57:49 pm,我想查询此列,但只是让SQL Server返回日期月份和年份 - 例如。 2010 10 27或类似的东西。

我应该研究哪些功能?

我应该尝试转换为其他日期数据类型吗?或者只是将其转换为字符串?

9 个答案:

答案 0 :(得分:112)

看看CONVERT。第3个参数是您要转换为的日期时间样式。

e.g。

SELECT CONVERT(VARCHAR(10), GETDATE(), 103) -- dd/MM/yyyy format

答案 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是在日期时间。 此查询将显示该日期的订单而不是日期时间。

在日期时间列上应用的日期关键字会将其更改为短日期。