删除存储过程中的所有NULL值

我创建了以下存储过程来运行read a len=`echo $a|wc -m` len=`expr $len - 1` # echo $len flag=1 for((i=0;i<len/2;i++)) do k=`expr $len - $i - 1` # echo "${a:$i:1} ${a:$k:1}" if((${a:$i:1} != ${a:$k:1})) then flag=0 break fi done if(($flag == 1)) then echo Palindrome else echo Not Palindrome fi 。但是,我得到下面列出的错误。如您所见,我尝试了多种方法来删除null,但没有任何效果。如何成功删除sp中的Null,使其可以成功插入?

  

消息50000,级别16,状态2,过程sp_Insertairport,第128行[批处理开始第2行]   无法将值NULL插入表“ DB_Airports.dbo.tbl_Airports”的“纬度”列中;列不允许为空。 INSERT失败。

exec sp_Insertairport 'value1','value2',etc...
GFHJTYHTR 回答:删除存储过程中的所有NULL值

我认为您只想要coalesce()

INSERT INTO tbl_Airports(ICAOCode,IATACode,AirportName,City,Latitude,Longitude,Elevation) 
    VALUES (@ICAOCode,@IATACode,@AirportName,@City,COALESCE(@Latitude,0),COALESCE(@Longitude,@Elevation
           );

我认为0是非常差的默认值,因为它是有效值。赤道上可能有机场。

本文链接:https://www.f2er.com/3141785.html

大家都在问