パディングなしで、TABLE(DATA varbinary(2048)) から .NET dll にいくつかの varbinary データを選択しようとしています。現在、すべてのレコードの長さは 64 バイトですが、将来的には変わる可能性があります。
これを行うストアド プロシージャを使用します。
select substring(DATA, 1, datalength(DATA)) as DATA from TABLE
これでうまくいくと思いますが、dll で取得するストリームの長さは 2050(2048 + 2) バイトです。
値 ( ) をハードコーディングすると、select substring(DATA, 1, 64) as DATA from TABLE
予想どおり 66 バイトが返されます。
私は何かが欠けていますか(明らかです)?