SQL VarChar to Date

hi I'm trying to convert a VarChar date field (e.g. 20100320) to a real date field, e.g.

'dd/mm/yyyy' (e.g. 20/03/2010).

I tried two ways: 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',

both produce a result like

yyyy-mm-dd (e.g. 2010-03-20)

but I want to get the result, for example

dd / mm / yyyy (e.g. 03/20/2010)

Any help would be appreciated. thank.

+3
source share
2 answers

Try the following:

select convert(varchar(8), convert(datetime, min(a.DateOfAction), 112), 103)

, , , SQL Server , , yyyy-mm-dd. date varchar, . , ! 112 - yyyymmdd, 103 - dd/mm/yyyy, . ( - )

+5
Declare @date nvarchar(100)
set @date = '20100320'
select convert(varchar, CONVERT(datetime, @date, 109), 103)

convert(varchar, CONVERT(datetime, A.DateOfAction, 109), 103)
+1

Source: https://habr.com/ru/post/1787669/


All Articles