DATETIME2
é o tipo de dados SQL que você está procurando. Leva precisão de segundos a 7 casas decimais. O TechNet fornece informações completas, com exemplos comparando os vários tipos aqui .
As informações a seguir fornecem informações básicas sobre todos os tipos aplicáveis:
SELECT
CAST('2007-05-08 12:35:29. 1234567 +12:15' AS time(7)) AS 'time'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date'
,CAST('2007-05-08 12:35:29.123' AS smalldatetime) AS 'smalldatetime'
,CAST('2007-05-08 12:35:29.123' AS datetime) AS 'datetime'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS datetime2(7)) AS 'datetime2'
,CAST('2007-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS 'datetimeoffset';
Produz os resultados:
Data type Output
time 12:35:29. 1234567
date 2007-05-08
smalldatetime 2007-05-08 12:35:00
datetime 2007-05-08 12:35:29.123
datetime2 2007-05-08 12:35:29.1234567
datetimeoffset 2007-05-08 12:35:29.1234567 +12:15
Acima da consulta e do resultado obtidos diretamente da página da TechNet citada acima.
N.B. Acredito que DATETIME2
apareceu pela primeira vez no SQL 2008.