タグ付けされた質問 「datetime2」

7
SQL Serverでdatetime2に日付と時刻を組み合わせる方法は?
次のコンポーネントを考える DECLARE @D DATE = '2013-10-13' DECLARE @T TIME(7) = '23:59:59.9999999' それらを組み合わせてDATETIME2(7)価値のある結果を生成する最良の方法は何'2013-10-13 23:59:59.9999999'ですか? 動作しないものを以下にリストします。 SELECT @D + @T オペランドデータ型の日付は、追加演算子には無効です。 SELECT CAST(@D AS DATETIME2(7)) + @T オペランドのデータ型datetime2は、add演算子には無効です。 SELECT DATEADD(NANOSECOND,DATEDIFF(NANOSECOND,CAST('00:00:00.0000000' AS TIME),@T),@D) datediff関数の結果、オーバーフローが発生しました。2つの日付/時刻インスタンスを分離する日付部分の数が多すぎます。精度の低い日付部分でdatediffを使用してみてください。 *を使用して、Azure SQL DatabaseおよびSQL Server 2016でオーバーフローを回避できますDATEDIFF_BIG。 SELECT CAST(@D AS DATETIME) + @T 日付と時刻のデータ型は、add演算子と互換性がありません。 SELECT CAST(@D AS DATETIME) + CAST(@T AS …

1
datetime2(0)vs datetime2(2)
ドキュメントdatetime2(Transact-SQL)によると: ストレージサイズは 、精度が3未満の場合は6バイトです。 精度3および4の 場合は7バイトです。他のすべての精度には8バイトが必要です。 大きさはdatetime2(0)、datetime2(1)、datetime2(2)ストレージの同量(6バイト)を使用します。 datetime2(2)サイズコストを追加せずに精度の利点を享受することもできると言って正しいでしょうか? ご注意ください: この列はPKでインデックス付けされ、複合クラスター化インデックスを形成します(テーブルパーティションに使用) ミリ秒は気にしません うdatetime2(0)where句で使用された場合、より多くのCPU効率的であること、またはインデックスを通じて追求するとき? これは巨大なテーブルなので、最小の最適化で大きな違いが生じます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.