文字列を使用すると、Sybaseの中の文字列ですべて充填スペースを保存するが、それは私が意味「空白埋める」をものについて誤解していない限り、私は(見てい動作ではありませんということthis question主張に受け入れ答え)。例えば、私は次のスクリプトを実行する場合:Sybaseは、右トリムしないストリング・タイプをサポートしていますか?
[NULL] - [NULL]
[single space] - 1
[single space] - 1
[single space] - 1
blah - 4
blah - 4
blah - 4
[four spaces]blah - 8
末尾のスペースを取り除きへのSybaseを得ることはありませする方法があります:私は次の出力を得る
create table #check_strings
(
value char(20) null
)
insert into #check_strings values (null)
insert into #check_strings values ('')
insert into #check_strings values (' ')
insert into #check_strings values (' ')
insert into #check_strings values ('blah')
insert into #check_strings values ('blah ')
insert into #check_strings values ('blah ')
insert into #check_strings values (' blah ')
select value, len(value) from #check_strings
を?さらに、空の文字列を空の文字列として保存する方法はありますか?単一のスペースではありませんか?
私はSybase 15.5を使用しています。 「あなたがchar、unichar型、またはNULLを可能にNCHAR列を作成すると、Adaptive Serverはvarchar型、UNIVARCHAR、またはnvarchar型の列に変換し、それらのデータ型のストレージ・ルールを使用しています。」
ありがとうございました。 not nullの設定で動作しますが、問題は、常に長さ20の文字列を返します(空文字列を挿入し、selectに20スペースを返します)。これは容認できる解決策ではありません。 Varcharはやり方ですが、私が挿入しているデータを変更するこの動作は、Sybaseではかなり厄介な動作です。 –
ある時間前、私は同じケースで常に最後に1文字を追加しなければなりませんでした。もちろん、クライアント側でこの最後の文字を削除する必要がありました。これは最高のことではありませんが、私の場合にはうまくいきます。 – kolchanov