首页 > 解决方案 > 将日期时间格式从 DD-MON-YY HH:mm:ss.mmmmmmmmm AM/PM 转换为 YY-MM-DD HH:mm:ss.mmmmmmm(24 小时格式)

问题描述

将日期时间格式从 DD-MON-YY HH:mm:ss.mmmmmmmmm AM/PM 转换为 YY-MM-DD HH:mm:ss.mmmmmmm(24 小时格式)

例如:-“04-SEP-12 06.03.45.519068000 PM”到“12-09-04 18:03:45.5190680M”

标签: sql-serverdate

解决方案


假设值是varchar格式的a dd-MMM-yy hh.mi.ss.mmmmmmmmm AM(PM),而不是标题中的内容,这会将值转换为 a datetime2(7)。然后,您将控制它在表示层中显示的格式:

DECLARE @date varchar(35) = '04-SEP-12 06.03.45.519068000 PM';

SELECT CONVERT(datetime2(7),STUFF(STUFF(STUFF(V.D,13,1,':'),16,1,':'),27,2,''),9)
FROM (VALUES(@date)) V(D);

推荐阅读