SQLSERVER目前在更新或者查询过程中如果有条件需要判断是否为空,是不能直接使用 "=NULL"或者"!=NULL" 来实现条件匹配。而是使用is null 或者 is not null 来判断。
我在使用过程中因为对数据不熟悉,在大批量更新数据的过程中,部分数据某些字段值为NULL,但是SQL SERVER不支持直接=NULL的写法,在这种情况下就会出线数据更新速度及其缓慢,以及可能出错的情况。简单粗暴的解决办法是java code配合sql共同解决,就是将数据分组,并且写两个sql语句,这种做法能够解决少部分数据质量问题,但是如果多个字段出线上述情况,那么简单的代码会因为这一块而变得复杂起来。
目前我想的解决办法是使用ISNULL(agrs1,args2)去解决。
例如:update tabA set columnA = 'a' where ISNULL(columnA,'')=ISNULL(:columnA,'')
这个做饭虽然暂时解决了问题,但是对于数据更新的效率会有影响。数据量越大越不好。
欢迎批评指正!