3

こんにちは、私はオーストリアに住んでいて,、小数点として を使用しています。

言語/照合設定に従って、正しいセパレーターを使用して float を varchar に変換することはできないようですか?

これはバグですか?

set language german --makes no difference in this case
declare @f float = 4.5
select @f --output in my management studio is 4,5 
          --according to the regional os settings this is correct

select convert(varchar,@f) -- output: 4.5 not correct

1つの解決策ですが、理想的ではないと思います

select replace(convert(varchar,@f),'.',',')
4

1 に答える 1

0
  • SSMS は、設定に基づいて型をフォーマットしfloatますregional
  • SQL エンジンの言語設定は、使用される区切り記号には影響しません

正しくは、数値を数値として残し、クライアントでフォーマットする必要があります。
これはSSMSがあなたのためにしていることです

ドイツの地域設定を使用した SQL サーバーも参照してください。

于 2012-02-16T11:07:28.777 に答える