diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/csv/CSVInferSchema.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/csv/CSVInferSchema.scala index 78d1186538dbe..511aab3579d2a 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/csv/CSVInferSchema.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/csv/CSVInferSchema.scala @@ -231,8 +231,8 @@ private[csv] object CSVTypeCast { castType: DataType, nullable: Boolean = true, options: CSVOptions = CSVOptions()): Any = { - - if (datum == null || nullable && datum == options.nullValue) { + val isNull = datum == options.nullValue || datum == null + if (nullable && isNull) { null } else { castType match {