您好我正在尝试将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',
Run Code Online (Sandbox Code Playgroud)
b)
(SELECT MIN(CONVERT(DATE, A.DateOfAction, 103)) AS Expr1
FROM ResAdm.Action A
WHERE (A.PersonID = P.PersonID))
AS 'Period From',
Run Code Online (Sandbox Code Playgroud)
两者都产生了结果
yyyy-mm-dd(例如2010-03-20)
但我希望结果像
dd/mm/yyyy(例如20/03/2010)
任何帮助将不胜感激.谢谢.
试试这个:
select convert(varchar(8), convert(datetime, min(a.DateOfAction), 112), 103)
Run Code Online (Sandbox Code Playgroud)
您的问题是,一旦您有一个日期格式,SQL Server将以您发现的默认日期格式将其转储出来yyyy-mm-dd.您需要从转换date到varchar得到你想要的格式.但要从日期转换,您需要先转换为日期!112是格式yyyymmdd,103是格式dd/mm/yyyy,所以这就是你需要这些格式的原因.(日期格式的书籍在线参考)
| 归档时间: |
|
| 查看次数: |
19032 次 |
| 最近记录: |