Gary Harding (4/15/2015)
The (very small) fly in the ointment is that the 114 date style code in the CONVERT function returns milliseconds preceded by a colon rather than a period (decimal point).That's always looked odd to my eyes.
Microsoft's definition of valid string literals for the time datatype includes the following:
Milliseconds can be preceded by either a colon (:) or a period (.). If a colon is used, the number means thousandths-of-a-second. If a period is used, a single digit means tenths-of-a-second, two digits mean hundredths-of-a-second, and three digits mean thousandths-of-a-second. For example, 12:30:20:1 indicates 20 and one-thousandth seconds past 12:30; 12:30:20.1 indicates 20 and one-tenth seconds past 12:30.
BOL gives the 114 format as hh:mi:ss:mmm, and indeed three digits are always returned for milliseconds, with leading zeros if needed.
That effectively makes the colon and period interchangeable, so I struggle to see the point of the 113 and 114 codes.
Do they relate to any ANSI standard?
My greatest disappointment is that MS doesn't have a datetime conversion for Pig Latin. 😛
--Jeff Moden
Change is inevitable... Change for the better is not.