まず、現在の sybase db のバージョンがAdaptive Server Enterprise 12.5.4であることをお伝えしておく必要があります。これらの種類の変数のいくつか、フォーマット、および文字列型での保存のために、float データ型varchar
を sybase convert 関数を介して変換することを目指しています。concat
残念ながら、そうではありません。convert(varchar(20), float_var)
またはcast()
関数を使用するだけでは、正確な値を正しく返すことはできません。
例えば、 ...
declare @float_var float
begin
select @float_var =345.1237 --from table actually
select convert(varchar(20),@float_var) --return 345.1236999999
end
返される誤った文字列の結果には99999
、または00001
接尾辞が付いている場合があります。
精度の指定などいろいろ試してみましたが、それでもうまくいかないケースがいくつかあります。sybase の内部関数は正確には機能しません。
これはSybase DBを使用している間の一般的な問題だと思いますが、検索にはほとんど答えがありません. 私の過去の経験では、Sybase ストア プロシージャ ガマーには常に、実行時の許容範囲とエラー発生時の内部修正があります。この問題により、Sybase が内部でどのように機能するのか混乱しました。事前に感謝します。