Time не се съхранява с неговия формат на показване в SQL Server.
Следователно от гледна точка на потребителя можете да кажете, че няма формат.
Разбира се, това не е напълно точно, тъй като има формат за съхранение , но като обикновен потребител не можете да го използвате.
Това е вярно за всички типове данни за дата и час:Date , DateTimeOffset , DateTime2 , SmallDateTime , DateTime и Time .
Ако имате нужда от формат, тогава не е необходимо да прехвърляте към time но към char . Използвайте Convert за да получите char имате нужда от:
SELECT CONVERT(char(10), [time], 108) as CSTTime
Ето някои основни данни, ако се интересувате:
В тази статия, публикувана през 2000 г., писателят обяснява задълбочено как SQL Server третира датите и часовете. Съмнявам се дали нещо значително се е променило между 2000 и 2015 г. в начина, по който SQL Server съхранява date , time и datetime вътрешни стойности.
Ето съответните цитати, ако не искате да прочетете всичко:
И така, как SQL Server вътрешно съхранява датите? Той използва 8 байта за съхраняване на стойност за дата и час – първите 4 за датата и вторите 4 за часа. SQL Server може да интерпретира и двата набора от 4 байта като цели числа.
........
........
SQL Server съхранява второто цяло число за времето като броят на часовника след полунощ. Секунда съдържа 300 тикета, така че един тик е равен на 3,3 милисекунди (ms).
от time всъщност се съхранява като цяло число от 4 байта, то наистина няма формат като неразделна част от типа данни.
Може също да искате да разгледате тази статия за по-подробно обяснение с примерни кодове.