2016-09-28 9 views
2

何らかの理由で、ソフトウェアがテキストを格納するために使用するイメージデータ型の列があります。Imageデータ型をVarcharに変換する

私はここで見つけた多くの例を使用してデータを取り出し、varcharに変換しようとしています。

現在、私は問題が何らかの理由で文字列から最初の文字を変換していることである

SELECT CONVERT(VARCHAR(MAX), CONVERT(VARBINARY(MAX), BITS,2)) FROM V_SO_MTL_BINARY 

を持っています。 ImageからVarcharへの変換はどのようにして、最初の文字を取得するだけではありません。

+1

。 –

+0

それは答えだったので、私はそれを受け入れます。もちろん、それは簡単でした。 – AlexF11

答えて

4

データが最初に挿入される方法によっては、VARCHAR(MAX)の代わりにNVARCHAR(MAX)が必要になることがあります。

実際にはnvarcharの場合、標準的なASCIIテキストには00バイトのロットが多くなります。例えばN'Some String'0x53006F006D006500200053007400720069006E006700として保存されます。

これらは、varcharにキャストするときにゼロ文字を終了する文字列として扱われ、最初の文字のみが表示されます。あなただけのデータが最初に挿入されているかに応じて、代わりに `VARCHAR(MAX)の` NVARCHAR(MAX) ``が必要な場合があります

SELECT CAST(0x53006F006D006500200053007400720069006E006700 AS VARCHAR(30)) 

戻りS

関連する問題