[Memo]Sybase DataReader could exceed row size limit
問題:
如下圖的錯誤訊息出現Row 資料太大
圖1
本想說是欄位資料太多的問題,但查的資料是非常少的,後來Try了一下才知道
是SQL轉型的問題,在寫條件式時我們習慣用以下的語法來作依值查詢,沒值就查全部。
modate=@modate or @modate1 is null
而上面的SQL在Sybase 的寫法需改成如下,多一個轉型判斷:
modate=@modate or Convert(varchar(255),@modate1) is null
Sybase的寫法適用在一般的字串欄位,但若是Text的欄位型態,在查詢時就會發生如圖1的錯誤。
解決方法,直接使用Like就好了,不要再作or的判斷
moddate like '%'+@moddate+'%'