Tackey
2005-08-22 02:30:07 UTC
漢字の16進数コードの変換に困っています。
あるテーブル(A)には、漢字項目列(例えば、氏名。varchar)があります。
別のテーブル(B)には、漢字のコードが文字列として登録されています。(char(4))
漢字コードとはUnicodeであり、ご存知のように例えば「あ」であれば3042の16進数です。
やりたいことは、以下のようなことです。
Bテーブルのある列が1である漢字コードを氏名に含むAテーブルを抽出する。
漢字を16進数に変換するには、2Byte目、1Byte目をそれぞれcastでbinaryに変換して結合しますと上記「あ」であれば、0x3042となります。
しかし、3042といった文字に変換できません。
逆に文字コードをバイナリにできません。(A~Fの変換でエラーになります)
VB.NET使用すればCovert関数でできそうですが、SQLだけで実現するにはどうすれば、よいのでしょうか?
あるテーブル(A)には、漢字項目列(例えば、氏名。varchar)があります。
別のテーブル(B)には、漢字のコードが文字列として登録されています。(char(4))
漢字コードとはUnicodeであり、ご存知のように例えば「あ」であれば3042の16進数です。
やりたいことは、以下のようなことです。
Bテーブルのある列が1である漢字コードを氏名に含むAテーブルを抽出する。
漢字を16進数に変換するには、2Byte目、1Byte目をそれぞれcastでbinaryに変換して結合しますと上記「あ」であれば、0x3042となります。
しかし、3042といった文字に変換できません。
逆に文字コードをバイナリにできません。(A~Fの変換でエラーになります)
VB.NET使用すればCovert関数でできそうですが、SQLだけで実現するにはどうすれば、よいのでしょうか?