SQL Server 2008 を使用して単純なケース ステートメントを作成しようとすると、問題が発生して次のエラー メッセージが表示されます。
Msg 8114, Level 16, State 5, Line 6
Error converting data type varchar to numeric.
問題の原因となっているスクリプトを次のように分離しました。
CASE WHEN tPersonLocationHist.LocationCode = 'DC'
AND (tPersonJobHist.FullTimeEquivalent = 1)
AND (MONTH(tPersonStatusHist.LatestHireDate) < 10)
THEN tPersonStatusHist.NormalHoursPerWeek / 5
tPersonStatusHist.NormalHoursPerWeek は 10 進数としてフォーマットされます。しかし、私はそれを計算することができません。
任意のヒント?結果の計算は、10 進数形式 (10 進数 2 桁まで) である必要があります。
THEN ステートメントを '7.5' に変更しても、次のように返されます。
Msg 245, Level 16, State 1, Line 6
Conversion failed when converting the varchar value '7.5' to data type int.
を使用してみましCONVERT(decimal(4,2),tPersonJobHist.NormalHoursPerWeek * 7.5)
たが、それもうまくいきません。
機能しているのは、次のようにすることだけですが
CONVERT(int,tPersonJobHist.NormalHoursPerWeek * 7.5)
、小数を削除して整数全体を与えるだけです。
おそらくおわかりのように、私は SQL の初心者であり、まだロープを学んでいるので、あなたが与えることができるどんな助けも大歓迎です。