Sql 如何将mm/dd/yyyy更改为所需格式

Sql 如何将mm/dd/yyyy更改为所需格式,sql,sql-server,sql-server-2005,tsql,datetime,Sql,Sql Server,Sql Server 2005,Tsql,Datetime,我有mm/dd/yy格式的日期。例如:4/1/2009表示2009年4月1日。我想在sql中获得2009年4月1日的格式。有人能帮忙吗?使用转换函数 看起来格式107就是您想要的格式。这应该可以满足您的需要 DECLARE @date datetime SET @date = getdate() SELECT datename(day,@date) + ' ' + left(datename(month,@date),3) + ' ' + datename(year,@date) 我会给你这

我有mm/dd/yy格式的日期。例如:4/1/2009表示2009年4月1日。我想在sql中获得2009年4月1日的格式。有人能帮忙吗?

使用转换函数


看起来格式107就是您想要的格式。

这应该可以满足您的需要

DECLARE @date datetime
SET @date = getdate()
SELECT datename(day,@date) + ' ' + left(datename(month,@date),3) + ' ' + datename(year,@date)
我会给你这个

2009年4月1日

如果要1而不是01,请执行此操作

declare @d datetime
select @d = '20090401'

select replace(convert(varchar(50),@d,107),' 0',' ')

2009年4月1日

您是希望直接从SQL查询中获取此信息,还是可以在前端使用其他代码进行翻译?某些信息(可能是您的个人资料)告诉我您对日期很着迷!也许你现在应该给自己找个约会!;-)
declare @d datetime
select @d = '20090401'

select replace(convert(varchar(50),@d,107),' 0',' ')