求助:将CONVERT(varchar,getdate(),120)转成 xxxx年xx月xx日 xx时xx分xx秒格式

请填写用户昵称 2011-05-04 03:07:55
如何将Getdate() 转成 xxxx年xx月xx日 xx时xx分xx秒格式

直接的

select CONVERT(varchar,getdate(),120)
得到的是
xxxx-xx-xx xx:xx:xx 格式
我想直接得到中文格式
...全文
809 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyukuai 2011-05-04
  • 打赏
  • 举报
回复
declare @a nvarchar(20)
select @a=convert(char(4),getdate(),120)+N'年'+right(convert(char(7),getdate(),120),3)+N'月'+
right(convert(char(10),getdate(),120),3)+N'日'+right(convert(char(13),getdate(),120),3)+N'时'+right(convert(char(16),getdate(),120),2)+N'分'
print @a

yyoinge 2011-05-04
  • 打赏
  • 举报
回复
自己写函数吧
create function fn_format_date(@dt datetime)
returns varchar(200)
as
begin
declare @r varchar(200)
select @r = cast(datepart(yyyy,@dt) as varchar(4)) + '年'
+ right('0' + cast(datepart(mm,@dt) as varchar(2)), 2) + '月'
+ right('0' + cast(datepart(dd,@dt) as varchar(2)), 2) + '日 '
+ right('0' + cast(datepart(hh,@dt) as varchar(2)), 2) + '时'
+ right('0' + cast(datepart(n,@dt) as varchar(2)), 2) + '分'
+ right('0' + cast(datepart(s, @dt) as varchar(2)), 2) + '秒'
return @r
end
go
select dbo.fn_format_date(getdate())
Shawn 2011-05-04
  • 打赏
  • 举报
回复
SELECT
DATENAME(YEAR,GETDATE()) + N'年' +
RIGHT('0'+RTRIM(DATEPART(MONTH,GETDATE())),2) + N'月' +
RIGHT('0'+datename(day, GETDATE()),2) + N'日 ' +
RIGHT('0'+datename(hour, GETDATE()),2) + N'时'+
RIGHT('0'+datename(minute, GETDATE()),2) + N'分'+
RIGHT('0'+datename(second, GETDATE()),2) + N'秒'
/*
2011年05月04日 15时42分24秒
*/
xuam 2011-05-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 pentiumsky 的回复:]
引用 3 楼 wwwwgou 的回复:
没有直接的,只能用datepart或datename函数自己写了.

请问具体如何实现呢?
[/Quote]
select datepart(year,getdate())+'年'+datepart(month,getdate())+'月'+........
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wwwwgou 的回复:]
没有直接的,只能用datepart或datename函数自己写了.
[/Quote]
请问具体如何实现呢?
Shawn 2011-05-04
  • 打赏
  • 举报
回复
没有直接的,只能用datepart或datename函数自己写了.
songziling 2011-05-04
  • 打赏
  • 举报
回复
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm
例如:
select getdate()
2004-09-12 11:06:08.177
整理了一下SQL Server里面可能经常会用到的日期格式转换方法:
举例如下:
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608


select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12


select CONVERT(varchar(12) , getdate(), 112 )
20040912


select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12

select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004

select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004


select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004

select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004


select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004


select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004


select CONVERT(varchar(12) , getdate(), 108 )
11:06:08


select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1

select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004


select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1


select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177

xuam 2011-05-04
  • 打赏
  • 举报
回复
没有吧

34,836

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧