sql >> データベース >  >> RDS >> Sqlserver

JSON文字列を格納するための最適なSQLデータ型は何ですか?

    確かにない

    • TEXT, NTEXT :これらのタイプは非推奨 SQL Server 2005以降であり、新しい開発には使用しないでください。 VARCHAR(MAX)を使用する またはNVARCHAR(MAX) 代わりに

    • IMAGEVARBINARY(MAX)IMAGE TEXT/NTEXTと同じように非推奨になりました 、そしてテキスト文字列をバイナリ列に格納する意味はありません...

    つまり、基本的にVARCHAR(x)が残ります。 またはNVARCHAR(x)VARCHAR 非Unicode文字列(1文字あたり1バイト)とNVARCHARを格納します すべてを1文字あたり2バイトのUnicodeモードで格納します。では、Unicodeが必要ですか?文字列にアラビア語、ヘブライ語、中国語、またはその他の西ヨーロッパ以外の文字が含まれている可能性がありますか?次に、NVARCHARを使用します

    (N)VARCHAR 列には2つの種類があります。8000バイト以下になる最大長を定義します(VARCHAR 最大8000文字、NVARCHAR 最大4000)、またはそれだけでは不十分な場合は、(N)VARCHAR(MAX)を使用してください 最大2ギガバイトのデータを保存するバージョン。

    更新: SQL Server 2016 ネイティブJSONサポート-新しいJSON データ型(nvarcharに基づく )、およびFOR JSONが導入されます クエリからの出力をJSON形式に変換するコマンド

    更新#2: 最終製品では、Microsoftは個別のJSONを含めませんでした datatype-代わりに、タイプNVARCHAR(n)の列を操作するJSON関数(データベース行をJSONにパッケージ化する、またはJSONをリレーショナルデータに解析する)がいくつかあります。



    1. PostgreSQLの2つのデータベース間でデータを比較するにはどうすればよいですか?

    2. MySQLダイナミックピボット

    3. MySQLは、インデックス付きのTIMESTAMP列でファイルソートを使用します

    4. SQLServerでN行を選択する