Updating google sheet based on postgres query - NULL value doesn't change the sheet's data

Hi,
I'm using a workflow to update a google sheet (bulk update by primary key) and the update is based on a postgres db query
When a field in the query result turned to NULL - the change isn't reflected in the google sheet.
Do I need to use COALESCE on all fields that can be null ?

Hi @taluk,

Yes, you will need to use COALESCE on all fields that can be NULL in your PostgreSQL query if you want to make sure that the NULL values are reflected in the Google Sheet.

COALESCE is a PostgreSQL function that returns the first non-NULL value from a list of arguments. So, if you use COALESCE on a field, it will return the value of that field if it is not NULL, or it will return a default value if the field is NULL.

For example, if you have a PostgreSQL query like this:

SELECT id, name, age
FROM customers;

And you want to update a Google Sheet with the results of the query, but you want to make sure that any NULL values in the age column are replaced with the default value of 0, you would use COALESCE like this:

SELECT id, name, COALESCE(age, 0) AS age
FROM customers;

This will return a result set with the same columns as the original query, but the age column will be replaced with the value 0 if the original value was NULL.

When you use a workflow in Retool to update a Google Sheet, you can specify the SQL query to use in the Query field. So, if you want to make sure that NULL values are reflected in the Google Sheet, you would use the COALESCE function in your SQL query.

In addition to using COALESCE, you can also use other techniques to handle NULL values in your Google Sheet updates. For example, you could use a conditional statement to check if a value is NULL before updating the Google Sheet. Or, you could use a separate workflow to update NULL values in the Google Sheet.

However, using COALESCE is a simple and effective way to make sure that NULL values are reflected in your Google Sheet updates.

Hope this helps.

:grinning:

Patrick

2 Likes

Hi Patrick,

Sounds good, thanks for the explanation!

2 Likes