接受的答案,以this question聲稱使用CHAR列將保留所有填空格在Sybase的字符串,但這並不是我所看到的(除非我弄錯的行爲是什麼「填空格」的意思)。例如,當我運行下面的腳本: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
我得到以下輸出:
[NULL] - [NULL]
[single space] - 1
[single space] - 1
[single space] - 1
blah - 4
blah - 4
blah - 4
[four spaces]blah - 8
有沒有什麼辦法讓的Sybase到不剝離尾部的空格?此外,有沒有辦法讓它將空字符串保存爲空字符串,而不是作爲單個空格?
我正在使用Sybase 15.5。
謝謝。它適用於not null設置,但問題是它總是返回長度爲20的字符串(例如,我插入一個空白字符串,並在select上返回20個空格)。這不是一個可接受的解決方案。 Varchar是要走的路,但是這種修改我插入的數據的行爲在Sybase中是相當惱人的行爲。 –
前一段時間,我必須在同一個案例中總是添加一個字符。當然,我必須在客戶端刪除最後一個字符。這不是最好的,但在我的情況下工作。 – kolchanov