Sql server SQL日期格式

Sql server SQL日期格式,sql-server,Sql Server,如何在MS SQL中将2011年6月1日12:00:00 AM转换为2011年6月1日 这对你的问题有效吗 编辑:如果“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); 声明@aDate datetime; set@aDate='2011年6月1日12:00:00 AM'; 打印转换(字符(10),@

如何在MS SQL中将2011年6月1日12:00:00 AM转换为2011年6月1日

这对你的问题有效吗

编辑:如果“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); 声明@aDate datetime; set@aDate='2011年6月1日12:00:00 AM'; 打印转换(字符(10),@aDate,101); 这对你的问题有效吗

编辑:如果“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); 声明@aDate datetime; set@aDate='2011年6月1日12:00:00 AM'; 打印转换(字符(10),@aDate,101);
如果您的目标是仅基于日期比较两个datetime,这应该会有所帮助

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
在SQLServer2008中,还有一种

应该也行。 例如,此代码

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

如果您的目标是仅基于日期比较两个datetime,这应该会有所帮助

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))
在SQLServer2008中,还有一种

应该也行。 例如,此代码

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

@Remya:只需为“1/6/2011 12:00:00 AM”是字符串的情况更新新解决方案。@Remya:只需为“1/6/2011 12:00:00 AM”是字符串的情况更新新解决方案。类似的讨论类似的讨论很棒,也适用于yyyy mm dd使用子字符串(convert(varchar,crdate,121),1,10)很棒,也适用于yyyy mm dd使用子字符串(convert(varchar,crdate,121),1,10)