嗨,我正在尝试将一个VarChar日期字段(例如20100320)转换为一个真正的日期字段,如
'dd/mm/yyyy' (e.g. 20/03/2010).
我尝试过两种方法:( a)
(SELECT MIN(CAST(A.DateOfAction AS Date)) AS Expr1
FROM ResAdm.Action A
WHERE (A.PersonID = P.PersonID))
AS 'Period From',b)
(SELECT MIN(CONVERT(DATE, A.DateOfAction, 103)) AS Expr1
FROM ResAdm.Action A
WHERE (A.PersonID = P.PersonID))
AS 'Period From',都会产生类似的结果
yyyy dd(例如2010-03-20)
但我希望结果就像
dd/mm/yyyy (例如20/03/2010)
任何帮助都将不胜感激。谢谢。
发布于 2011-01-25 12:21:13
试试这个:
select convert(varchar(8), convert(datetime, min(a.DateOfAction), 112), 103)您的问题是,一旦您有了日期格式,Server将以其默认日期格式将其转储出去,您已经发现该格式是yyyy-mm-dd。您需要从date转换到varchar以获得所需的格式。但是要从日期开始转换,首先需要转换为date!112是yyyymmdd的格式,103是dd/mm/yyyy的格式,所以这就是为什么需要这些格式。(日期格式的联机参考书籍)
发布于 2011-01-25 12:17:29
Declare @date nvarchar(100)
set @date = '20100320'
select convert(varchar, CONVERT(datetime, @date, 109), 103)您可以使用
convert(varchar, CONVERT(datetime, A.DateOfAction, 109), 103)https://stackoverflow.com/questions/4793311
复制相似问题