Manipulating DateTime Strings

Hi

How do I efficiently convert a string being supplied to my SQL of the form:

"2009-07-29:13:25"

into the SQL datetime format:

"07/29/2009 1:25:00 PM" ?

My second issue:

I have been reading about UTC in the forum, and can see it is complex if dealing with different systems, ie MAC, Linux etc. But, at the end of the day, if I am just using Windows XP with SQL 2005 Server Express, is it true to say that the UTC datetime in SQL will be the same as the UTC datetime in another application on the same computer?

In other words: for the above datetime will the UTC value be the same regardless of the software application using it - ie. so long as I convert the datetime to a UTC value this will then be 'portable', at least on the same PC?
silchesterAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

RiteshShahCommented:
if you have not mistaken in giving date than look at this one





declare @str varchar(50)
set @str='2009-07-29 13:25'
 
select convert(varchar(50),CONVERT(datetime,@str,120),22)

Open in new window

0
RiteshShahCommented:
if you really have ":" between date and time than consider this one



declare @str varchar(50)
set @str='2009-07-29:13:25'
 
select convert(varchar(50),CONVERT(datetime,left(@str,10)+' '+right(@str,5),120),22)

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
RiteshShahCommented:
>>I have been reading about UTC in the forum, and can see it is complex if dealing with different systems, ie MAC, Linux etc. But, at the end of the day, if I am just using Windows XP with SQL 2005 Server Express, is it true to say that the UTC datetime in SQL will be the same as the UTC datetime in another application on the same computer?<<


I guess in same computer, it will remain same.
0
10 Tips to Protect Your Business from Ransomware

Did you know that ransomware is the most widespread, destructive malware in the world today? It accounts for 39% of all security breaches, with ransomware gangsters projected to make $11.5B in profits from online extortion by 2019.

silchesterAuthor Commented:
Incredible! Fantastic, after thinking I was going to have to get another app to manipulate it all etc etc. Good one.

Am just having trouble using it in a computed column for a table:

convert(varchar(50),CONVERT(datetime,left([DATETIME TO CONVERT],10)+' '+right([DATETIME TO CONVERT,5),120),22)

Or am I going to have to put this into an after insert trigger?

Cheers
0
silchesterAuthor Commented:
PS. Can I be cheeky and ask if there is a function that wil then take this converted datetime and give me the UTC value ?

Thanks
0
RiteshShahCommented:
well you can put it in trigger for sure but don't understand what you want to say by "Computed Column for a table" can you please elaborate more?
0
silchesterAuthor Commented:
Well, in the SQL 2005 table designer a column can be made a 'computer column' by putting a formula into its column properties. So, I tried inserting the convert code into it, but it does not like it - so i guess it does not see this code line as a 'formula'.

I have just tired it in a trigger, and it works. I just thought that the computed column would have been a neater way of automatically filling in a colum with the converted value (another column is holding the unconverted value).
0
RiteshShahCommented:
first computed column is not a physical column and it used to compute the value as and when demanded so directly insert in computed column will not be possible.
0
silchesterAuthor Commented:
Thanks Ritesh - really helped me there.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SQL Server 2005

From novice to tech pro — start learning today.