我希望将日期格式从yyyymmdd转换为mm dd yyyy
我发现了很多few resources个SQL语句。但我太新了,不知道我在找什么。
我有以下表达式,我需要它来拍摄日期
select Date_of_hire from Employee where employeeID='input'
答案 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作为日期时间。