diff --git a/singer_sdk/streams/sql.py b/singer_sdk/streams/sql.py index e605471dc5..f235455162 100644 --- a/singer_sdk/streams/sql.py +++ b/singer_sdk/streams/sql.py @@ -5,6 +5,8 @@ import abc import typing as t +from sqlalchemy import nulls_first + import singer_sdk.helpers._catalog as catalog from singer_sdk._singerlib import CatalogEntry, MetadataMapping from singer_sdk.connectors import SQLConnector @@ -189,7 +191,7 @@ def get_records(self, context: dict | None) -> t.Iterable[dict[str, t.Any]]: if self.replication_key: replication_key_col = table.columns[self.replication_key] - query = query.order_by(replication_key_col) + query = query.order_by(nulls_first(replication_key_col)) start_val = self.get_starting_replication_key_value(context) if start_val: