Another option is a double conversion (check performance when used as criteria):
select strTempNo, dtmTempDateStart,
convert(varchar(10), Convert(datetime, dtmTempDateStart, 103), 126) As UTCDate
I use 103 here as the data is already in UTC format but this works as well (UTC ISO8601 is 126).
If your dates are known to be always in American format you have to use 101.
Alternatively use 112 (ISO "safe" format) and cut the first 8 characters out of the string.
Data sample: (Sorry, don't have an American date table available)
- 521002 2008-09-1500:00:00.000 2008-09-15
- 580195 2008-04-1500:00:00.000 2008-04-15
- 530058 2008-09-2200:00:00.000 2008-09-22
- 580194 2008-04-0200:00:00.000 2008-04-02
- 500897 2008-07-0100:00:00.000 2008-07-01
- 500966 2008-09-2300:00:00.000 2008-09-23