SQL selectコマンドを設定します。新しいデータベースの作成時に指定されていない場合、どの文字セットが使用されますか? Firebirdのさまざまなバージョン(1.0,2.0,2.5.1など)に違いはありますか?
答えて
作成中に文字セットが指定されていない場合のデフォルトの文字セットは、文字セットNONE
です(Firebird Webサイトのdocumentation sectionで利用可能)。これはFirebirdの前から(おそらくInterbaseの作成以来)、既存のバージョンにも当てはまりました。ただし、Firebird 2.5では、デフォルトの文字セットを使用せずにデータベースを作成すると、RDB$CHARACTER_SET_NAME
の値はNONE
になります。以前のバージョンでこれが違うかどうかは分かりませんが、NULL
を報告しても、デフォルトではNONE
が使用されています。
あなたが確認したい場合は、単純に文字セットを指定せずにCHAR
またはVARCHAR
列を持つ基本的なテーブルを作成し、デフォルトを決定するために、次のクエリを使用することができます。
SELECT a.RDB$FIELD_NAME, a.RDB$RELATION_NAME,
b.RDB$CHARACTER_SET_ID, c.RDB$CHARACTER_SET_NAME
FROM RDB$RELATION_FIELDS a
INNER JOIN RDB$FIELDS b
ON b.RDB$FIELD_NAME = a.RDB$FIELD_SOURCE
INNER JOIN RDB$CHARACTER_SETS c
ON c.RDB$CHARACTER_SET_ID = b.RDB$CHARACTER_SET_ID
WHERE RDB$RELATION_NAME = 'TABLE_NAME'
することができます任意の((VAR)CHAR
)フィールドBTWの文字セットを見つけるためにこれを使用してください。
文字セットNONE
は、文字セットの前提がないことを意味するため、任意の文字セットでデータを格納できます。ただし、文字セットが明示的に設定されている列に格納したり比較したりすることはできません(おそらく文字セットOCTETS
、これについてはわかりません)。
NONE
を使用する場合は、データベースに接続するときに常に同じ接続文字セットを使用するか、文字セットNONE
を接続文字セットとして使用する場合は、アプリケーション、ドライバ、アクセスコンポーネントまたはプログラミング言語は常に同じエンコーディングを使用します。そうしないと、文字化問題が発生します(文字エンコーディングの問題)。
接続文字セットとしてNONE
を使用する場合、追加の問題があります。たとえば、の場合、列のデータはそのまま送信され、受信したデータはとして格納されます。ただし、その列の文字セットでバイトの組み合わせが許可されていない場合を除きます。基本的には、作成されたのと同じ言語環境でデータベースを使用する必要があります。
一般に、あなたが何をしているのか分からない限り、デフォルトの文字セットを明示する方が良いです。
- 1. SQL:これは私の文</p> <pre><code>select * from table1 where col1 not in (select col2 from table2); </code></pre> <p>ある
- 2. 値が<select><option>文字列として戻る
- 3. <select>デフォルト値
- 4. なぜ[:] = 1は[:] = '1'と根本的に異なるのですか? <code>a</code>が<code>['1']</code>ある最初のケースで</p> <pre><code>a = [] a[:] = '1' </code></pre><p>と</p> <pre><code>a = [] a[:] = 1 </code></pre><p>:
- 5. は文字「A」で始まり、</p> <pre><code>select mname from medication where mname like 'A%' and mname like 'Y'; </code></pre> <p>イム取得答えを次のように「Y」
- 6. SELECT <A OR B> FROM my_table WHERE A = 5またはB = 5;
- 7. Pythonで/ <from <と区別する
- 8. どうすればpreg_replace @<a> @</a>〜<a> @</a>?
- 9. ReactJS <select>
- 10. C++のカスタム文字列クラスの<<演算子関数の戻り値
- 11. デシリアライズオプション<'a>
- 12. 追加の「<」(<)文字3.2
- 13. HTML文字列のすべてのimgタグを置き換える方法<a><img></a>?
- 14. アンカー(<a href="URL">URL</a>)(<p>URL</p>)
- 15. は2角度 -</p> <pre><code><a [routerLink]="[/Person']">Person</a> </code></pre> <p>、私は以下のように<code><a></code>タグを持っているルート
- 16. Heredoc <<<または<<?
- 17. 雄弁MYSQL文:</p> <p><a href="https://en.wikipedia.org/wiki/Allen%27s_interval_algebra" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Allen%27s_interval_algebra</a></p> <p>:NOT(A OR B)
- 18. <<<
- 19. jQuery - target.href <a href="#"><img></a>
- 20. タグ内<a href="....."></a></td> DOUBLE_WHITESPCE in query href
- 21. ナビゲーションバー</p> <p>に戻っ
- 22. パイソン:NameError「」は今...</p> <p><a href="https://i.stack.imgur.com/tryyh.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/tryyh.png" alt="Desired output"></a></p> <p>を
- 23. スカラ:</p> <pre><code>val s = """<body> <p>This is a test</p> <p>This is a test 2</p> </body""" </code></pre> <p>ここでの問題はとき、次のとおりです、改行を交換して、タブ文字列
- 24. エルム -</p> <pre><code>a : Float </code></pre> <p>方法1が式を正しく</p> <pre><code>Mouse.x - a </code></pre> <p>を書くと考えるシグナルと数字
- 25. のXpath - チェックすべての要素がサブ要素を持つ文書</p> <pre><code><a> <b> <c/> <d/> </b> <b> <c/> <d/> </b> </a> </code></pre> <p>考える
- 26. <Option>の値を<select>
- 27. jQueryセレクタ<select>の<option>ボックス
- 28. Receive ArrayList <ArrayList <LatLng>> from Intent
- 29. Swift <<, ><, <=< and > = <
- 30. uncontrolled <select> ReactJSのデフォルト値