【问题标题】:Sql Server ISERROR functionSql Server ISERROR 函数
【发布时间】:2013-11-19 12:00:58
【问题描述】:

我有一个返回公式格式的函数。它的某些部分----

  if(CHARINDEX(@fieldname,@formula)<>0)
            Begin         
                declare @previouschar char = SUBSTRING(@formula, CHARINDEX(@fieldname, @formula)-1, 1), 
                        @nextchar char = SUBSTRING(@formula, CHARINDEX(@fieldname ,@formula)+len(@fieldname), 1)                  
                if(@previouschar in('[',']','(',')','{','}','+','-','/','*') 
                    and @nextchar in ('[',']','(',')','{','}','+','-','/','*'))
                Begin   
                    set @calFormula= replace(@calFormula,@fieldname,' case when FLD'+Convert(varchar,@flid)+' is null OR FLD'+Convert(varchar,@flid)+'='''' then 0.0 else Convert(decimal(18,'+ Convert(varchar,@decimalPlc) +'),FLD'+Convert(varchar,@flid)+' ) end ')
                End
            end
        set @cnt1=@cnt1+1
    End

                    set @calFormula= replace(@calFormula,'[','')
                            set @calFormula= replace(@calFormula,']','')

 return @calFormula

我想在 Sql Server 关系数据库中实现 DAX 的 ISERROR 方法,该方法将检查输入的任何除数是否为零,然后在计算公式中分配 NULL。如何工作?SQL 中是否有类似 ISERROR 的替代方法?

【问题讨论】:

    标签: sql-server dax


    【解决方案1】:

    当然。

    IsError(1/0)会返回true(因为有错误)

    IsError(1/1) 将返回 false(无错误)。

    Technet

    【讨论】:

      猜你喜欢
      • 2013-09-11
      • 1970-01-01
      • 2015-01-22
      • 1970-01-01
      • 2013-08-16
      • 2010-11-21
      • 2021-04-17
      • 2021-10-28
      • 1970-01-01
      相关资源
      最近更新 更多