私は関数を使っていくつかの計算を行い、以下の値を得ました。この値を1000で割ります。科学的表記法の数値を含むvarcharをSQL Serverの数値に変換するにはどうすればよいですか?
1.83673e+006
数値を数値に変換します。
私はそれが数値にデータ型はnvarcharを変換
エラーをスローし、数値に変換してみてください。
この値を数値に変換することはできますか?これを手伝ってください。事前
私は関数を使っていくつかの計算を行い、以下の値を得ました。この値を1000で割ります。科学的表記法の数値を含むvarcharをSQL Serverの数値に変換するにはどうすればよいですか?
1.83673e+006
数値を数値に変換します。
私はそれが数値にデータ型はnvarcharを変換
エラーをスローし、数値に変換してみてください。
この値を数値に変換することはできますか?これを手伝ってください。事前
で
おかげで、SQL Server内の
SELECT CONVERT(numeric(16,0), CAST(1.83673e+006 AS FLOAT))
それを試して、科学的表記法(...+e...
は)のみ浮動小数点データ型のためではなく、小数/数値データ型に使用されます。
したがって、numeric
に直接変換するときではなく、浮動小数点データ型(float
またはreal
など)に変換する場合のみSQL Serverがこの形式を認識します。
もちろん、何もnumeric
に第1およびfloat
に値を変換できないようにしない:
SELECT CONVERT(numeric(19,4), CONVERT(float, '1.83673e+006'))
は1836730.0000
を生み出します。
ただ、SQL Serverのこの
Declare @data varchar(100)='1.83673e+006'
SELECT @data=CAST(CAST(@data AS float) AS NUMERIC)/1000
SELECT @data Result
Result
1836.730000
どのバージョンを試してみてください? – alroc
SQL Server 2012 – DineshDB