Первый совместим с datetime
, но второй слишком точный.Он будет соответствовать sqldatetime2
, который доступен в SQL Server 2008:
select cast('2008-01-14 12:00:00' as datetime)
, cast('2010-04-09 12:23:45.26525' as datetime2)
Для более ранней версии вы можете использовать substring
, чтобы отрубить невозможную точность:
select cast(substring('2010-04-09 12:23:45.26525',1,23) as datetime)
Для регулярного выражения, чтобы удалить любые дополнительные цифры (используя синтаксис Perl Regex):
(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3})\d*
И заменить на:
$1
Что соответствует части регулярного выражения в ()
скобках.