1
将FLOAT与RAISERROR一起使用
我一直RAISERROR()在提供一些基本的单元测试功能(如此处所示),但是对于无法FLOATs在错误消息中使用感到沮丧。我知道我可以将float转换为字符串,但是我RAISERROR在每个单元测试中都在使用,我不想为每个测试添加另一行代码。(我的单元测试已经足够罗word了!)是否可以在参数列表中执行内联转换/转换RAISERROR?还是有解决这种缺陷的另一种方法? 更新: 所以最终我希望我能做的是: RAISERROR('Unit Test FAILED! %f', 11, 0, @floatParm) 不幸的是,RAISERROR通常不处理%f或浮点数。所以我必须这样做: 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