この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。
建築家
建築家
リスト
放送
茶屋
インテリジェントAI会話
.NETキャリア&テクニカルカレッジ
ちっちゃいなクズブログ
この版
利用者
Architect_Programmer_Code農業ネットワーク
»
建築家
›
データベース&データベース
›
Microsoft SQL Server
›
SQLserverエンコーディング形式およびSQLserverコレーションでSQL文を表示 ...
眺める:
13630
|
答える:
0
[ヒント]
SQLサーバーエンコーディング形式およびSqlserverコレーションルールでSQL文を表示
[リンクをコピー]
クズども
掲載地 2016/10/27 12:50:16
|
|
|
|
SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')
こちらがクエリ結果です:
936 中国簡体字GBK
950 繁体字中国語 BIG5
437 米加英語
932名日本人
949 韓国人
866 ロシア語
65001 ユニコード UFT-8
SQL SERVER 2008をインストールする際、デフォルトインストールを選択したため、それを作成しました
データベースの場合、サーバーが選択するデフォルトのソートルールはSQL_Latin1_General_CP1_CI_AS照合ルールであり、テキストをデータテーブルに挿入しても通常は表示されず、すべて「? その代わりに。
その後、データベースを作成する際には、下図のようにChinese_PRC_CI_ASコレーションルールを手動で指定する必要があります
ソートルール:
SQLSEVER2005で使われているソートルールはSQL_Latin1_General_CP1_CI_ASであり、簡体字を正しく表示できる3つのソートルールではありません。
Chinese_PRC_BIN、
Chinese_PRC_CI_AS、
Chinese_PRC_CS_AS。
MSのコレーションの説明『Collation Rules Control Physical Storage of Strings in SQL Server 2005』をご覧ください。 照合ルールは各文字を表すビットパターンと文字の使用を保存・比較するルールを指定します。
つまり、SQLSERVERではコレーションは実際には文字エンコーディングです。
クエリアナライザーで以下の文を実行することで、SQL SERVERでサポートされているすべてのコレーションルールを取得できます。
選択 * から ::fn_helpcollations()
照合名は2つの部分から成り、最初の部分はこの照合で支える文字セットを指します。
例えば:Chinese_PRC_CS_AI_WS
前半はUNICODE文字セットに及び、簡体字UNICODEのソートルールChinese_PRC_refersしています。
照合の後半は接尾辞の意味です:
_BIN 二値ソート
_CI(CS) 大文字が大文字に敏感でないか、CIが敏感でないか、CSが敏感かどうか
_AI (AS) アクセントを区別するかどうか、AIは区別しませんが、ASは区別します
_KI(KS) 偽名の種類を区別するかどうか、KIは区別せず、KSは区別します
_WI(WS)は幅を区別せず、WSも微分されません
大文字・小文字を不等と扱いたい場合は、このオプションを選択してください。
アクセントの区別:アクセントのある文字と弱い文字を不平等と比較したい場合は、このオプションを選択してください。 そのオプションを選択すると、異なるアクセントを持つ文字も不等と扱われます。
カナの区別:カタカナとヒラカデイの音節を不等と扱いたい場合は、このオプションを選択してください。
幅の微分:半幅文字と全幅文字を不等と扱いたい場合は、このオプションを選択してください。
SQLSERVERの照合ルールを理解した後、上記の問題に対して以下の結論を導き出すことができます。
1. 中国語文字セットの整合をサポートするためにSQLSERVERユーザーデータベースを修正する。
2: 中国語の文字表示はしつつ??,データベースのソートルールを変更したくなく、正しく中国語の文字を表示したい場合、設計上のすべてのUnicodeタイプのフィールド、すなわちnChar、nVarcharのようにNで始まるフィールドタイプを正しく表示することが推奨されます。
3: 照合ルールやフィールドタイプを変更したくない場合は、SQL文を変更する必要があります。また、すべての中国語文字に対して正しく表示するために、前にNを追加する必要があります。 具体的な方法については、以下の2つの記述を参照してください。
クエリ:FirstName=N'Wang' のtb_Custから*を選択してください
挿入:tb_Cust(名前、姓、性別)値(N'Wang'、N'Xinhao'、N'Male)
注:将来的には、SQLSERVER2000後にサーバーレベルのコレーションルールを変更するのはより面倒になり、マスターデータベースの再構築が必要となります。
現在、すでに作成されたデータベースについては、データベースのプロパティウィンドウのオプションページでコレーションメソッドを変更することもでき、データテーブルにテキストを挿入してもエラーメッセージが出なくなります!
先の:
SQLは、列に中国語か英語かを決定します
次に:
SQLは、列に中国語か英語かを決定します
関連記事
•
SQL Serverサーバーはデータベースの整合ルールを修正します
•
SQL SERVERデータベースはデフォルトの照合ルールを修正します
•
SQL Serverのレプリケーションは、データベースを新しいデータベースにクローンします
•
MySQLデータベースのテストテーブルは1,000万件のデータを挿入します
•
[翻訳] なぜNET/C#のMySqlConnectorとMySql.Dataが前者を勝ち取るのか
•
.NET/C# はDataTablesを通じて動的にテーブル構造を作成します
•
SQL SERVERデータベース用のメモリ最適化テーブル
•
SQL Serverがクラスタ化されていないインデックスに対して作成する最大varchar長
•
[AI](15)ベクターデータベースQdrantは使いやすいです
•
【AI】(14) オープンソースベクターデータベースの簡単な紹介
閲覧したセクション
.Net/C#
C/C++
フロントエンドフレーム
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。
Mail To:help@itsvse.com