2011-03-31 74 views
0

我该如何转换1/6/2011 12:00:00 AM01/06/2011 MS SQL?SQL日期格式

+0

http://www.windowsitpro.com/article/configuration/how-can-i-convert-a-sql-date-time -to-just-date-.aspx 类似的讨论 – pinki 2011-03-31 09:45:35

回答

1

如果你的目的是比较仅基于日两个日期时间,这应该有助于

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) 

在SQL Server 2008中也有类型DATE所以

CAST(@date as DATE) 

应也工作。 例如这个码

declare @dt as datetime 
declare @d as date 

set @dt = getdate() 
set @d = cast(@dt as date) 

print @dt 
print @d 

有此输出

mar 31 2011 11:46AM 
2011-03-31 
+0

感谢它的工作。 – Remya 2011-03-31 10:01:28

2
+0

好的,也适用于使用子字符串的yyyy-mm-dd(convert(varchar,crdate,121),1,10) – Jarekczek 2011-12-21 19:07:12

0
convert(char(10),aDate,101); 

它适用于您的问题吗?

编辑:if'1/6/2011 12:00:00 AM'是一个字符串。

 
declare @aDate datetime; 
set @aDate = '1/6/2011 12:00:00 AM'; 
print convert(char(10),@aDate,101); 
+0

它不起作用,结果为“ 1/6/2011 1“ – Remya 2011-03-31 09:49:57

+0

@Remya:只需更新一种新的解决方案,即'2011年6月1日12:00:00 AM'是一个字符串。 – RollingBoy 2011-03-31 09:59:24