次のSQL Serverのデータ型はどのようなものですか?珍しいSQL Serverのデータ型を実際に使用するのは何ですか?
実際の例を教えてください。代わりに、画像
smallint
とtinyint
代わりにint
とbit
varchar(50)
とvarchar(max)
代わりにtext
sql_variant
uniqueidentifier
binary(50)
、varbinary(50)
と
次のSQL Serverのデータ型はどのようなものですか?珍しいSQL Serverのデータ型を実際に使用するのは何ですか?
実際の例を教えてください。代わりに、画像
smallint
とtinyint
代わりにint
とbit
varchar(50)
とvarchar(max)
代わりにtext
sql_variant
uniqueidentifier
binary(50)
、varbinary(50)
と「4」もEAVシナリオでよく使用されます。 –
EAV ==エンティティ属性値 – anonymous
1)
画像の代わりにvarbinarymax
image
は廃止されましたので、あなたは
2)
SMALLINT、代わりにint型のTINYINT将来のSQL Serverのバージョンとの互換性を確保するために
varbinary(max)
を使用する必要があると
は、これらの4つの異なるタイプのビットさまざまな範囲の数値が格納されます。それはあなたがその列に保存したいデータに依存:
bit
tinyint
int
を使用することができます。もちろん、int
を使用smallint
int
列を使用することは絶対に意味がありません。なぜなら、データベースが不必要に大きくなるからです。 3)
VARCHAR(50)との代わりに)1として
同じテキストのvarcharmax:text
は、あなたが将来の互換性を確保するためにvarchar(50)
またはvarchar(max)
を使用する必要があるので、非推奨(とされますテキストが常に50文字に収まる場合は、とにかくtext
またはvarchar(max)
を使用することは意味がありません。
UNIQUEIDENTIFIER
5)
議論してください(4)。 – anonymous
@Saqib:私はそれについて何も知らないので、私の答えに 'sql_variant'は言及していませんでした(正直なところ、あなたの質問を読む前に聞いたことはありません)。しかし、[gbnの回答](http://stackoverflow.com/a/8702375/6884)のリンクは私にとってはかなりよく見えます。 –
を保存するには、MSSQLで、さまざまな種類のは、Microsoftの哲学が原因である "いくつかの馬鹿がそれを望んでいるならば、我々は彼にそれを販売します"貧しい人を独占的なプラットフォームに結びつけている。 – Philip
@Philip:あなたの偏見を明確にするために、あなたは「反MS」、「反揮発性」または「非標準非準拠」ですか? – gbn
@ gbn:hehe、私は「anti-non-standards-compliance」を選択しますが、私は私を正確に「anti」と呼んでいません。標準が十分な選択肢を提供しない場合が常にありますが、ソリューションは自家製のソリューションを導入する代わりに標準を拡張することです。悲しいことに、それは通常、別の方法で動作しますが、それでもカスタム拡張が、例えば、次のようにマークされていることに同意することは可能です。いくつかのベンダーが '-moz- *'や '-webkit- *'のように独自の名前空間を占有するCSS拡張があります。インターフェイスの一部を削除することをお勧めします。 – Philip