0 = if(len(sql("HS_BDMS","select (cast(sbid as varchar(36))+debug_zrr_id) as ch from HS_BDMS.dbo.dq_workload_ma", 1))=0, array(0),inarray(a2+l2, sql("HS_BDMS","select (cast(sbid as varchar(36))+debug_zrr_id) as ch from HS_BDMS.dbo.dq_workload_ma", 1))) 公式本来是好用的,但是今天突然就出错了。 两个sql语句都可以正确执行,而且公式是合法的。 公式是为了防止重复记录再次写入数据库。 sbid是uuid,debu_zrr_id是varchar。 使用a2+l2进行拼接字符串作为唯一码和数据库表ma中sbid+debug_zrr_id拼串进行对比,如果新纪录存在于ma表,则inarray函数会返回一个非零数字,与0比对就可以进行检验。 |