1. ホーム
  2. sql

[解決済み] なぜSQL Serverは符号なしデータ型をサポートしないのですか?

2023-01-07 17:57:53

質問

私は特に符号なし int .

ここで実際の例を挙げます。IDカラムが最大になったとき、あなたはどうしますか?それは、どちらかというと BigInt (4バイトではなく8バイトのストレージ) にするか、アプリケーションをリファクタリングして負の整数をサポートするか、さらには以下のように独自のルールを作成することもできます。 この回答 これらのオプションはどちらも最適ではありません。

UInt は理想的なソリューションですが、SQL Server はそれを提供しません(MySQL は提供します)。

符号なしデータ型が SQL 標準 (SQL-2003) の一部ではないことは理解していますが、それでも私には無駄のように思えます。

これらを含まない理由は何ですか (SQL Server または標準に)?

どのように解決するのですか?

推測するに、型の拡散を避けようとしているのでしょう。 一般に、符号なし整数ができて符号付き整数ができないことはありません。2147483648 と 4294967296 の間の数値が必要な場合、その数値も最終的には 4294967296 を超えるので、おそらく 8 バイトの整数を使用する必要があります。