2017-06-14 1 views
-1

私はクエリを作成しようとしていますが、ここで私はエラーが発生している場所で立ち往生しました: "データ型varcharを数値に変換中にエラーが発生しました。SQLのvarcharから数値へのエラー、varcharフィールドのenvolvedなし

コードHere's:テーブルの

SELECT convert(numeric,convert(decimal(7,4), 
(
(SELECT SUM(pn.etiliquido-pn.qtt*pn.epcusto) from pn where (pn.fdata BETWEEN '2016-01-01' AND '2016-06-08') and 
(pn.usr1 not like '%'+'Portes'+'%') and (no like '517936') and (pn.epcusto > '0'))) 

/


(SELECT SUM((pn.etiliquido)) from pn where (pn.fdata BETWEEN '2017-01-01' AND '2017-06-08') and 
(pn.usr1 not like '%'+'Portes'+'%') and (no like '517936') and (pn.epcusto > '0')) *100 +'%')) 
    as Rentabilidade 

なし呼び出しがvarchar型のデータを持っている - 私ない、 - 私が間違ってやって何を得ていない - 私...よく

+0

'X like 'varchar''は、比較のために' X'をvarcharにキャストする必要があります。 –

+0

なぜあなたは 'CONVERT'への呼び出しをたくさん入れ子にしていますか?これ以外にも、数値を文字列として扱う場合や、その逆の場合にエラーが発生する可能性があります。 –

+0

も、変換なしの結果のようなものです: 9662200.3200001 と私のような出力のものにしたかった:€ i'veが、他の選択では、このようにそれをやったが、この9662200,32 、具体的には、doesn'tように見えますなぜ仕事をするのか分からない... – questionador

答えて

0

、感謝いずれにしても。私は最初に欲しかったことをやった。私は間違った変数を分離していた問題を推測します。