問題タブ [nvarchar]
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.
sql-server-2005 - 奇妙なSQLServer2005 varchar()とnvarchar()の照合の違い
誰かがこれを説明できますか:
結果: 0 1
結果: 1 1
最初のクエリでは、nvarchar()
結果は私が期待しているものではありませんが、それでも削除すると、X
期待どおりにnvarchar()
並べ替えが行われます。
(私の元のクエリでは、''
とN''
リテラル構文を使用して、varchar()
とnvarchar()
ではなくCAST()
、同じ結果が得られました。)
データベースの照合設定はですSQL_Latin1_General_CP1_CI_AS
。
sql-server - Accessには、SQL ServerのnvarcharなどのUnicode対応のデータ型に問題がありますか?
SQLServer2008データベースのフロントエンドUIとしてAccess2003を使用しています。SQL Serverデータベースの設計を見ると、varcharよりもnvarcharを使用するのが正しい選択であるかどうか疑問に思っています。Unicodeで表される文字を入力する必要がある場合に役立つと思ったので、nvarcharを選択しました。ただし、Unicodeデータ型を使用したAccess2003で発生する可能性のある問題については考えていませんでした。Access2003がSQLServer内のUnicodeデータ型(つまりnvarchar)で動作することに問題はありますか?ありがとうございました。
sql - SQL 多言語データの挿入 - 分音記号が失われるなど
多言語データを SQL 2008 データベース (nvarchar フィールド) に挿入すると、いくつかの特殊文字マークが失われているように見えます。
例えば
「Numar unic de referinta (URN)」として挿入されます
ただし、「上位 200 行の編集」を行うと、同じテキストをそのフィールドに直接貼り付けることができますが、問題はありません。
何が欠けていますか?
mysql - mysqlの長いutf8文字列に理想的なデータ型
VARCHAR
mysqlで入力するのは255文字のデータ長のみであるというのは本当ですか?それが本当なら、UTF8文字列のどのようなデータ型が長いテキストに役立ちますか?私はutf8_persian_ci
データ型を使用しています。
TEXTデータ型には。に関する問題があることに注意してくださいutf8_persian_ci
。
sql - nvarchar 連結の問題
難しいことをすべて処理した後、おそらく簡単なことをしようとしているのですが、これが頭を悩ませているようです。Xml要素を構築するためのnvarchar変数である変数@strXmlにテキストを連結しようとしていますが、@strXmlはnullを返します。助けてください。以下にコードを掲載しています。
最後のクエリを実行すると、null が返されます。デバッグ モードでも、@strXml が各行の値で更新されたことを確認できません。助けてください!ありがとう。
nhibernate - FluentNHibernateおよびVARCHAR列
FluentNhibernateを使用して単純な.NETプロジェクトを開始しています。
私はインターネットで見つけたいくつかの例をたどりましたが、それは非常に理解しやすいようです。
FluentNhibernateにDBスキーマ(SQL Server 2000)を構築させると、文字列モデルプロパティのNVARCHARフィールドが生成されることに気付きました。
タイプを変更するための規則を追加できると誰かが提案しました。
このコードはうまく機能します:
予想どおり、DBフィールドはVARCHARになりました。
別のクラスにAddressを配置し、それをCustomerクラスに追加した、DDDパターンに従って、コンポーネントをクラスに追加する必要がありました。
アドレス用に別のマッピングファイルを作成しました:
これで、CustomerテーブルのすべてのフィールドはVARCHARですが、Address(Street、City、PostCode)コンポーネントのフィールドは引き続きNVARCHARとして作成されます。
tsql - T-SQL:文字列の正確な長さを文字で取得する方法は?
前もってデータ型の情報がないテーブルに対して T-SQL SELECT ステートメントを生成しています。これらのステートメントでは、テーブルの列の元の値の長さに応じて文字列操作操作を実行する必要があります。
1 つの例 (ただし、唯一の例ではありません) は、文字列の特定の位置にテキストを挿入することです。これには、末尾に挿入するオプションが含まれます。
(STUFF では文字列の末尾にテキストを挿入できないため、CASE WHEN + LEN が必要です。)
問題は、LEN が末尾の空白を除外するため、計算が台無しになることです。末尾の空白を除外しない DATALENGTH を使用できることはわかっていますが、Product 列の型が varchar 型か nvarchar 型かがわからないため、DATALENGTH によって返されるバイトを STUFF で必要な文字に変換することはできません。
では、使用されている文字列データ型に関する事前情報なしで、文字列の正確な文字数に依存する SQL ステートメントを生成するにはどうすればよいでしょうか?
c# - C# エラー: nvarchar データ型を int に変換中にエラーが発生しました。ヘルプ!
私は自分の C# アプリケーションで本当に苦労しています。以下のコードを実行するたびに、nvarchar データ型から int への変換に関するエラーが表示されます。キャストしてみましたが、うまくいかないようです。
私が使用しているストアドプロシージャは次のとおりです。
ここでやりたいことは、ユーザーが入力した同じ月と年の期間がデータベースに既に存在するかどうかを確認することです。したがって、基本的に、入力された期間がすでに存在する場合、ストアド プロシージャは値を返す必要があります。存在する場合MessageBox
は、同じ期間の存在について警告するユーザーに表示されます。どうもありがとうございました!:)
sql - SQL 国別文字 (NCHAR) データ型は実際には何のためのものですか?
and と同様CHAR
(CHARACTER)
にVARCHAR
(CHARACTER VARYING)
、SQL はNCHAR
(NATIONAL CHARACTER)
andNVARCHAR
(NATIONAL CHARACTER VARYING)
型を提供します。一部のデータベースでは、これは文字 (非バイナリ) 文字列に使用するのに適したデータ型です。
SQL Server では、
NCHAR
UTF-16LE として格納され、非 ASCII 文字を確実に格納する唯一の方法でありCHAR
、シングルバイト コードページのみです。Oracle では
NVARCHAR
、シングルバイトの照合順序ではなく、UTF-16 または UTF-8 として格納できます。しかし、MySQL では
NVARCHAR
isVARCHAR
であるため、どちらのタイプも UTF-8 またはその他の照合で保存できます。
では、NATIONAL
概念的には実際には何を意味するのでしょうか。ベンダーのドキュメントは、実際の理論的根拠ではなく、ベンダー自身の DBMS が使用する文字セットについてのみ説明しています。NATIONAL CHARACTER
一方、SQL92 標準では、実装定義の文字セットに格納されていることだけを述べて、この機能についてあまり役に立たない説明をしています。単なるCHARACTER
とは対照的に、実装定義の文字セットに格納されます。これは、異なる実装定義の文字セットである可能性があります。か否か。
ありがとう、ANSI。タンシ。
NVARCHAR
すべての文字 (非バイナリ) ストレージの目的で使用する必要がありますか? 現在人気のある DBMS で望ましくないことを行ったり、キーワード (またはN''
リテラル) を認識しないものはありますか?
sql-server-2008 - SQL Server で nvarchar フィールドのハッシュ値を自動的に選択する方法はありますか?
この質問をより適切に表現する方法がわからないため、以前に尋ねた質問を見逃した可能性があります。これを閉じて、存在する場合は正しいものを教えてください。
私は2つの重要な列を持つテーブルを持っています(つまり、もっとたくさんありますが、この質問に関係するのは2つだけです). 最初の列は GUID (ID) で、2 番目の列は nvarchar (URL の格納) です。ID と URL の組み合わせは一意である必要があります (したがって、同じ GUID を繰り返すことができますが、各行には異なる URL があり、その逆も同様ですが、同じ GUID と URL の行が複数存在することはできません)。
現在、すべての INSERT の前に SELECT を実行して、同じ ID と URL を持つ行が存在するかどうかを確認しています。ただし、nvarchar のルックアップが遅いようです。したがって、挿入時に URL のハッシュ (SHA1) で埋められる余分な列を格納するようにテーブルを更新すると思います。今は小さいハッシュ (varbinary?) のルックアップのみを行っており、これは以前よりも大幅に高速になると思います。
SQL Server 2008 でハッシュを自動的に保存し、実際のテキストではなくそのハッシュ値に対してルックアップを行う方法はありますか? インデックスは B ツリーであると想定しているので、SQL Server が nvarchar フィールドのテキストのハッシュ値を使用して B ツリーを作成し、select が実行されたときに計算する必要があります。ハッシュを取得し、ハッシュ値を使用してツリー内でルックアップを行います。これは可能ですか?