Можно ли уменьшить точность SQL Server 2008 TIME до часов и минут?

В SQL Server 2008 тип данных time имеет необязательный аргумент точности (по умолчанию 7). С его помощью вы можете контролировать, сколько десятичных знаков после запятой сохраняется и отображается.

DECLARE @time time(3)
SET @time = GETDATE()
PRINT @time

Выше будет напечатано это,

10:47:25.347

В документации указано, что наименьшая точность составляет время (0) . Это сохранит и напечатает 10:47:25 .

Можно ли еще больше снизить точность, исключить / обнулить секунды: 10:47 ?

Я знаю, что это можно сделать вручную, добавив ограничение ( DATEPART (seconds, @time) = 0 ), выполнив математические операции при вводе данных, чтобы обнулить секунды, и вручную отформатировать при печати, но Я ищу более простой способ просто определить поле в таблице как «часы и минуты», почти так же, как тип дата позволяет вам определять поле как «только дату, без компонента времени».

6
задан David 22 November 2010 в 15:57
поделиться