2011-04-24 131 views
0

嘿,我有时间列和数据类型的日期..默认值为GETDATE(),但像2011-04-24SQL SERVER GETDATE()转换问题

这个返回的格式,但我要像2011年4月24日我怎样才能转换该格式?

什么是数值格式?

enter image description here

+0

在SQL Server之外发生SQL Server日期值(二进制)转换为文本表示形式。你有一些应用程序从SQL Server中读取数据,然后显示文本表示?如果是这样,你的问题的答案取决于应用程序写入哪种语言。 – 2011-04-24 15:01:09

回答

1

SQL Server date列没有关联的格式。

您可以在将date转换为varchar列时指定格式。请参阅MSDN页面convert。从MSDN,104 MM.DD.YYYY,所以,你可以:

select convert(varchar(12),getdate(),104) 

这将打印24.04.2011

+1

你为什么使用varchar(12)? – 2011-04-24 14:58:36

+0

是否必须是varchar默认值?选择convert(varchar(12),getdate(),104) – PsyGnosis 2011-04-24 15:20:42

2

GETDATE()是一个日期时间。这没有特定的格式。如果你想要一个特定的格式,你必须把它转换成一个varchar。

select convert(varchar(10),getdate(),104) 

有关不同转换代码here的更多信息。

+0

+1,'varchar(10)'更好:) – Andomar 2011-04-24 15:24:52

+0

但是'char(10)'会更好。 – 2011-04-24 16:12:49