Time
表示形式では保存されません SQL Serverで。
したがって、ユーザーの観点からは、形式がないと言えます。
もちろん、ストレージ形式があるため、完全に正確ではありません。 、ただし、平均的なユーザーとしては実際に使用することはできません。
これは、すべての日付と時刻のデータ型に当てはまります。Date
、DateTimeOffset
、DateTime2
、SmallDateTime
、DateTime
およびTime
。
フォーマットが必要な場合は、time
にキャストする必要はありません。 しかし、char
。 Convert
を使用する char
を取得するには 必要なもの:
SELECT CONVERT(char(10), [time], 108) as CSTTime
興味のある方は、以下の背景データをご覧ください。
2000年に公開されたこの記事では、SQLServerが日付と時刻をどのように処理するかについて詳しく説明しています。 SQLServerがdate
を格納する方法で、2000年から2015年の間に何か重要な変更があったかどうかは疑問です。 、time
およびdatetime
内部の値。
すべてを読みたくない場合は、関連する引用を以下に示します。
では、SQL Serverはどのように日付を内部的に保存しますか? 日時の値を格納するために8バイトを使用します。最初の4バイトは日付を表し、次の4バイトは時刻を表します。 SQL Serverは、4バイトの両方のセットを整数として解釈できます。
........
........
SQL Serverは、2番目の整数を次のように格納します。真夜中以降のクロックティック数。 1秒には300ティックが含まれているため、ティックは3.3ミリ秒(ms)に相当します。
time
以降 実際には4バイト整数として格納されますが、実際にはデータ型の不可欠な部分としての形式はありません。
コードサンプルを使用した詳細な説明については、この記事を確認することもできます。