SQL Server 2016 (互換バージョン 130) は初めてです。1 つの varchar 列を datetime2 に変換中にエラーが発生しました。簡単お試し
select convert( datetime2, '18-04-14 04:17:48.000000000 PM', 131)
回避策として、私も試しました
select convert(datetime2, SUBSTRING('18-04-14 04:17:48.000000000 PM',1,21)
+ SUBSTRING('18-04-14 04:17:48.000000000 PM',29,2) , 131)
エラー メッセージ: 文字列から日付や時刻を変換するときに変換に失敗しました。