SQL日期转换

时间:2011-06-17 15:39:39

标签: sql sql-server-2005

我希望将日期格式从yyyymmdd转换为mm dd yyyy

我发现了很多few resources个SQL语句。但我太新了,不知道我在找什么。

我有以下表达式,我需要它来拍摄日期

select Date_of_hire from Employee where employeeID='input'

4 个答案:

答案 0 :(得分:4)

SELECT REPLACE(CONVERT(VARCHAR(10), requested, 110), '-', ' ') AS hiredate

请查看http://www.sql-server-helper.com/tips/date-formats.aspx以获取进一步的参考。请注意,这相当于

SELECT REPLACE(CONVERT(VARCHAR(10), requested, 101), '/', ' ') AS hiredate

答案 1 :(得分:3)

选择日期格式是在表示层(表单应用程序,ASP应用程序,报表等)中最好的工作。让SQL简单地返回DATETIME字段,并通过正确设置应用程序的输出以任何您喜欢的格式呈现它。

答案 2 :(得分:1)

这将有效:

select replace(convert(varchar, Date_of_hire, 101), '/', ' ') 
from Employee where employeeID='input'

答案 3 :(得分:1)

我已经遇到过几次将数据从AS400(存储为字符串的日期)导入到sql表中,其中中间没有任何应用程序来进行格式化,所以我可以看到你可能想要的原因这样做。
查看Cast和Convert()(http://msdn.microsoft.com/en-us/library/ms187928.aspx

select Convert(varchar,Cast(Date_of_hire as datetime) ,101) as Date_of_hire from Employee where employeeID='input'

这将像01/01/2001格式化。
转换的问题在于它的格式化程度非常有限 要从类似的字符串中获取日期,您可以将转换保留,并将Cast作为日期时间。