Обсуждение: How to compare dates from two tables with blanks values

Поиск
Список
Период
Сортировка

How to compare dates from two tables with blanks values

От
Mike Martin
Дата:
I have a situation where I need to update dates in a primary table from regular imports of data, eg: this is the base select query

select d.row_id, fname||lname,'joineddate',d.joineddate,'joineddate',s.joineddate,0 as bool1 from import s join  members d on d.contact_id=s.contact_id where

cast(nullif(d.joineddate,NULL) as timestamp) != cast(nullif(s.joineddate,'') as timestamp)

This gives zero records, however I cant seem to get a query that works.
For non-date fields I just use Coalesce(fieldprime,'')!=coalesce(fieldiimport,'') which works fine but chokes on dates where there is a blank value

thanks in advance

Re: How to compare dates from two tables with blanks values

От
"Arnaud L."
Дата:
Le 19/12/2018 à 11:41, Mike Martin a écrit :
> cast(nullif(d.joineddate,NULL) as timestamp) != cast(nullif(s.joineddate,'') as timestamp) 
Try with
d.joineddate IS DISTINCT FROM s.joineddate

https://www.postgresql.org/docs/current/functions-comparison.html

Cheers
--
Arnaud


Re: How to compare dates from two tables with blanks values

От
Mike Martin
Дата:
thanks for this. I did get it to work using coalesce and nullif on opposite sides of the where condition, but the IS DISTINCT FROM certainly sounds a better approach. Coming from SQLServer until last year , never came across it before

Mike

On Wed, 19 Dec 2018 at 10:57, Arnaud L. <arnaud.listes@codata.eu> wrote:
Le 19/12/2018 à 11:41, Mike Martin a écrit :
> cast(nullif(d.joineddate,NULL) as timestamp) != cast(nullif(s.joineddate,'') as timestamp)
Try with
d.joineddate IS DISTINCT FROM s.joineddate

https://www.postgresql.org/docs/current/functions-comparison.html

Cheers
--
Arnaud