diff --git a/ibis/backends/sql/datatypes.py b/ibis/backends/sql/datatypes.py index dd4a8acff8e75..dd3780b84a1cb 100644 --- a/ibis/backends/sql/datatypes.py +++ b/ibis/backends/sql/datatypes.py @@ -169,7 +169,9 @@ def to_ibis(cls, typ: sge.DataType, nullable: bool | None = None) -> dt.DataType ) typecode = typ.this - nullable = typ.args.get("nullable", cls.default_nullable) + nullable = typ.args.get( + "nullable", nullable if nullable is not None else cls.default_nullable + ) if method := getattr(cls, f"_from_sqlglot_{typecode.name}", None): dtype = method(*typ.expressions, nullable=nullable) elif (known_typ := _from_sqlglot_types.get(typecode)) is not None: