SQL计算机列公式
|
SQL表(交易)具有三个字段AvgProfit,MinProfit和Hold-Hold是计算列...
如果AvgProfit MinProfit,保持= \'交易\'
Hold的计算列公式如下。
SQL Table Trades
AvgProfit varchar(35)
MinProfit varchar(35)
Hold varchar(35)
(case when CONVERT([decimal](8,4),isnull([AvgProfit],(0)),(0))>=CONVERT([decimal](8,4),isnull([MinProfit],(0)),(0)) then \'Trade\' else \'Hold\' end)
问题:更新导致AvgProfit有时为空,并且当表引用Hold公式时,这将导致错误
\'Error Converting varchar to numeric\'
如何将IS NULL或EMPTY添加到上述公式中,ISNULL不能捕获AvgProfit = \'\'??
没有找到相关结果
已邀请:
2 个回复
逝媳蘑贩茄
因此,您的查询可能变为:
或类似的东西。
茶鬼失形
列应用于可变大小的CHARacter列,而不用于数字数据。 换句话说,它们不应为空(当然,除了NULL以外,但您已经做好了处理)。 如果由于某种原因无法解决一些疏忽,可以通过执行以下操作使查询变得更加复杂和缓慢:-):
换句话说,检查NULL和空的“ 4”值。 我本人会修复该架构,因为从长远来看,它将对您更好。我只是提供其他解决方案,以防止您无法这样做。