2017-02-22 17 views
0

ここで私はエラーmsg 8114、レベル16、状態5を取得しています。そして、私はそれを必要と正確に丸め - ちょうど仕事に+「%」の部分を取得することはできません。SQL Serverに+ '%'を追加する際に問題が発生しました - エラーメッセージ "データ型varcharを数値に変換中にエラーが発生しました"

SUM(CAST(ROUND(ENROLLMENT,1) AS DECIMAL (10,2)))/SUM(CAST(ROUND(CAPACITY,1) AS DECIMAL (10,2))) *100 + '%' AS 'fill rate %' 

すべてのヘルプは理解されるであろう!

+0

データフォーマットのコンセプトとデータタイプのコンセプトを混在させます。最終結果が文字列/文字でない限り、STRINGデータをNUMERICデータ型に結合することはできません。小数点以下の値を文字列としてキャストして、%を追加するか、%を除外する必要があります。 – xQbert

答えて

1

のどちらかを%を追加しない

cast(SUM(CAST(ROUND(ENROLLMENT,1) AS DECIMAL (10,2)))/SUM(CAST(ROUND(CAPACITY,1) AS DECIMAL (10,2))) *100 as varchar(100)) + '%' AS 'fill rate %' 

または単にをVARCHARにあなたの小数点以下をキャスト。列ヘッダはすでに

cast(SUM(CAST(ROUND(ENROLLMENT,1) AS DECIMAL (10,2)))/SUM(CAST(ROUND(CAPACITY,1) AS DECIMAL (10,2))) *100 as varchar(100)) AS 'fill rate %' 

それとも、これは表示が小数点値を表示するフィールドの右に「%」を加える持って表示しているところはどこでも

...それは%フィールドだのと言います。

+0

あなたは人生の安全です!私はvarcharを試していましたが、始めにCASTを持っていませんでした。本当にありがとう、本当にありがとう!私は独学で、私はもっと学ぶことがたくさんあることを知っています! – KLR

+0

これはユーザーが更新できるフィールドであれば、%を追加すると、保存するときにそれを取り除く必要があります。 – xQbert

+0

直接お電話することはできますか?もしそうなら、私は助けを求めるために投稿するにはあまりにも恥ずかしい別のクエリを持っています! – KLR

関連する問題