1
RAISERRORでのFLOATの使用
私はRAISERROR()いくつかの基本的な単体テスト機能を提供するために(ここに示すように)使用FLOATsしていますが、エラーメッセージで使用できないことに不満を感じています。フロートを文字列にキャストできることはわかっていますがRAISERROR、すべての単体テストで使用しています。すべてのテストに別のコード行を追加したくありません。(私の単体テストはすでに十分に説明が豊富です!)パラメーターリスト内でインラインキャスト/変換を実行する方法はありRAISERRORますか?または、この欠陥を回避する別の方法はありますか? 更新: 最終的に私ができることは次のとおりです。 RAISERROR('Unit Test FAILED! %f', 11, 0, @floatParm) 残念ながら、RAISERROR一般的に%fまたはfloatを処理しません。だから私は代わりにこれをしなければなりません: DECLARE @str VARCHAR(40) = CAST(@floatParm AS VARCHAR(40)) RAISERROR('Unit Test FAILED! %s', 11, 0, @str) ...何十もの単体テストに散らばっているときは、混乱のように見えます。だから私はそれを次のようなものに要約したいと思います: RAISERROR('Unit Test FAILED! %s', 11, 0, CAST(@floatParm AS VARCHAR(40)) しかし、それは私にIncorrect syntax near 'CAST'メッセージを送ります。それが違法である理由はわかりませんが、違法です。代わりにここで使用できる別の「ワンライナー」はありますか?
11
sql-server
t-sql