問題タブ [sql-variant]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
entity-framework - Entity Framework Model Designer と SQL_Variant データ型の問題
SQL_Variant 型の列と、int、bigint などの型の他の列を含むテーブルがあります。このテーブルを edmx ファイルに追加すると、SQL_Variant 型の列以外のすべての列が追加されます。バグがありますか、それともその列を追加するために何かをしなければなりませんか?
sql - 整数または文字列のいずれかを含む可能性のあるSQLサーバーの列を定義するための最良の方法は何ですか?
同じタイプの2つのオブジェクトに異なるタイプの親がある状況があります。次の擬似コードは、状況を最もよく説明しています。
さらに複雑にするために、TypeBとTypeCには異なるタイプの主キーがある場合があります。たとえば、次のアサーションが当てはまる場合があります。
私の質問は、SQLServerでこの親子関係を定義するための最良の方法は何ですか?私が考えることができる唯一の解決策は、TypeAテーブルにParentIdとParentTypeの2つの列があることを定義することです。
- ParentIdはsql_variantです-数値と文字列の両方を保持できるようにするため
- ParentTypeは文字列です-親タイプのアセンブリ修飾名を保持します。
ただし、sql_variantに基づいてユーザーデータ型を定義すると、フィールドサイズが固定8016バイトとして指定されました。これは、かなりの方法のようです。
より良い方法が必要です。誰?ありがとう。
sql-server - SQL Server の sql_variant 列のオーバーヘッドのバイト単位のコストはどれくらいですか?
精度が 15 桁の float データ型の列を多数含むテーブルがあります。各列は 8 バイトのストレージを消費します。ほとんどの場合、データはこの程度の精度を必要とせず、実際のデータ型として格納できます。多くの場合、値は 0 になる可能性があり、その場合、1 バイトを格納するだけで済みます。
ここでの私の目標は、容量ストレージの要件を最適化することです。これは、SQL Express の 4GB データベース サイズ制限で作業する際に直面している問題です。
byte、real、および float データ型が sql_variant 列に格納されている場合、これらの値の格納に明らかにオーバーヘッドが伴います。このオーバーヘッドのコストはいくらですか?
次に、sql_variant 列のデータ型を使用するように切り替えると、実際に大幅な領域の節約になるかどうか (またはそうでないかどうか) を評価する必要があります。
ありがとう、エラン
sql-server-2008 - sql_variant フィールドを IS NULL 演算子と比較できません
つまり、列の型が null 値のクエリを実行できないということですsql_variant
たとえば、docsdate
テーブルは次のようになります。
select * from docsdate where value is null
行が返されないようなクエリの場合
何か案が?
sql-server-2005 - SQL2005-バリアントパラメータの質問
私は10以上のSProcで使用され、アイロンがけされるとおそらく成長する関数に取り組んでいます。
私が遭遇している問題は、データ型ごとに関数を開発したくないということです。そのため、SQL_VARIANT
データ型はアクションに非常に便利に見えます。データ型をチェックできることはわかっていますがISNULL
、渡された値が有効な数値であるかどうかもチェックしたいのですが、ISNUMERIC
関数が機能せず、関数についてよくわかりませSQL_VARIANT
んSQL_VARIANT_PROPERTY
。
これまでのコード:
sql-server - SqlBulkCopyを使用してsql_variant列に挿入するときに列タイプを設定するにはどうすればよいですか?
SqlBulkCopyを使用して、.netDataTableオブジェクトからsql_variant列を含むSQLServerテーブルに挿入/更新しています。ただし、SqlBulkCopyは、必要なものが「datetime2」である場合に、その列に配置されたDateTime値をSQLタイプ「datetime」として格納することを要求します。
私のDataTableは次のように定義されています:
次に、保存するために「datetime2」を必要とするデータをそこにスローします。
次に、SqlBulkCopyを使用してそのデータをSQLServerに取り込みます。
SQLの「datetime」タイプの範囲外のDateTime値がデータテーブルに存在する場合(「1/1/0001」など)、一括コピーは失敗します。そのため、列のタイプは「datetime2」である必要があります。
sql_variant列に挿入する通常の挿入ステートメントを作成する場合、CASTまたはCONVERTを使用して、バリアント列のタイプを制御できます。例えば:
次に、次のようにバリアント列の実際のタイプを表示する場合:
実際、「datetime2」として保存されていることがわかります。
しかし、私はSqlBulkCopyを使用しており、私が知る限り、.netDateTimeオブジェクトは「datetime」ではなく「datetime2」タイプの列に格納する必要があることを伝える場所はありません。私が知っているDataTableオブジェクトにも、これを宣言する場所はありません。誰かがこれを実現する方法を理解するのを手伝ってもらえますか?
entity-attribute-value - EAV の SQL_Variant または分離されたデータ型の値?
EAV では値にデータ型を使用していますが、8000 バイトsql_variant
なので、データ型の値ごとに 1 つのテーブルを使用する方がよいと思いsql_variant
ます。このデータ型が巨大な値であることが心配です。
あなたの考えは何ですか?どちらが良いですか?
タンエックス
c# - Entity Framework 4 での sql_variant の使用
私のユースケースはとてもシンプルです。次のような列を持つ小さなテーブルがあります。
Entity Framework モデル (.edmx ファイル) を作成しましたが、その列は次のようにスキップされました。
データ型 'sql_variant' はサポートされていません。テーブル「databaseFoo.dbo.Foobar」の列「dtgTestValue」が除外されました。
この特定の列に値を読み書きできる必要があります。このかなり単純なユースケースにアプローチする方法について何か提案はありますか?
linq - Anyおよびsql_variantsを使用したlinq
sql_variantsに問題があります
2つのテーブルとDTOがあります
私はtbale1からすべてを選択するのが好きで、table2のテーブル1のIDに値が入力されている場合は、そこから値を取得するのが好きです。これは文字列(または文字列の前にある「wert」列の少なくとも1つ)でうまく機能します。ただし、両方の「wert」列がsql_variantsの場合、厄介な出力が得られます。
グリッド内のテキストとして、コンテンツを表示します。
ここにいくつかのサンプルコードがあります
その「AS[値]」は「奇妙」に見えます
このクエリがsql_variantsで機能しない理由を誰かに教えてもらえますか?
ありがとうございました
_レネ
ああ、私が今気付いたのは、Linqが2つの追加クエリを実行していることです(2番目のテーブルで穴が開いているすべてのエントリに対して:
そして、両方の値がオブジェクトのリストとして返されるDTOにマージされているようです
編集:わかりました、これは機能しましたが、ではありませんでした。
ただし、.Any「ソリューション」が機能しない理由を知ることは非常に素晴らしいことです。
sql-server - sql_variant データ型が開発で一般的ではないのはなぜですか?
システム テーブルを調べていてsql_variant
、いくつかの列のデータ型を見ました。sql_variant
本番データベースでデータ型を持つ列を見たことがありません。これには何か理由がありますか。