diff --git a/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/SqlBuilder/OracleUpdateBuilder.cs b/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/SqlBuilder/OracleUpdateBuilder.cs index daade0f47..85ba9d970 100644 --- a/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/SqlBuilder/OracleUpdateBuilder.cs +++ b/Src/Asp.NetCore2/SqlSugar/Realization/Oracle/SqlBuilder/OracleUpdateBuilder.cs @@ -35,7 +35,7 @@ namespace SqlSugar { var isFirst = pkList.First() == item; var whereString = isFirst ? " " : " AND "; - whereString += GetOracleUpdateColums(item); + whereString += GetOracleUpdateColums(item,true); whereList.Add(whereString); } return string.Format("{0} {1} WHERE {2};", updateTable, setValues, string.Join("",whereList)); @@ -44,9 +44,15 @@ namespace SqlSugar return sb.ToString(); } - private string GetOracleUpdateColums(DbColumnInfo m) + private string GetOracleUpdateColums(DbColumnInfo m,bool isWhere=false) { - return string.Format("\"{0}\"={1} ", m.DbColumnName.ToUpper(IsUppper), base.GetDbColumn(m,FormatValue(m.Value,m.IsPrimarykey,m.PropertyName))); + + var result= string.Format("\"{0}\"={1} ", m.DbColumnName.ToUpper(IsUppper), base.GetDbColumn(m,FormatValue(m.Value,m.IsPrimarykey,m.PropertyName))); + if (isWhere&&m.Value == null) + { + result = result.Replace("=NULL ", " is NULL "); + } + return result; } int i = 0; public object FormatValue(object value,bool isPrimaryKey,string name)