comparing dates

Hi all,

If I have datelista and datelistb
I want to compare those so that those in datelista that are smaller than the last date in datelistb are in my result array. Would @replace achieve this result

datelista:05/06/2006, 07/08/2006, 10/10/2006, 10/12/2006, 01/02/2007, 01/03/2007
datelistb:05/06/2006, 10/10/2006, 01/02/2007
resultlist should display: 07/08/2006, 10/12/2006 ONLY. 01/03/2007 date should not appear in the result list because its date is higher than the last date in datelistb.

I've attempted using @replace from all the examples given before but I seem to get either the entire datelista or the entire datelistb

Does anyone have time to give a hand with this?

Thank you all in advance.
varvouraAsked:
Who is Participating?
 
Sjef BosmanGroupware ConsultantCommented:
@Compare, hm, maybe, but it's more difficult than with @Transform:
    lastdate:= @Subset(datelistb; -1);
    resultlist:= @Transform(datelista; "x"; @If(x<lastdate; x; @Nothing));
0
 
varvouraAuthor Commented:
Actually can you use @compare in this scenario?
0
 
varvouraAuthor Commented:
Brilliant as usual.

I applied it with a couple of small changes and it worked magic.
Better still, I look it up and in help and I know exactly how it works.

Many thanks,

Varvoura
0
Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

 
varvouraAuthor Commented:
Sjef,

I have a small problem,
this works fine on existing documents, however on new documents i get the value, comparison operators have to be the same type. The two fields are date fields, however, the datelistb is a computed field which does a lookup to get its value and if it is a new product then its original value is null. Is there a way around this problem.
got too excited too soon.

Thanks
0
 
Sjef BosmanGroupware ConsultantCommented:
An additional check should do wonders, but I suppose you found that out already. If not:

    lastdate:= @Subset(datelistb; -1);
    resultlist:= @If(!@IsTime(lastdate); "";
                        @Transform(datelista; "x"; @If(!@IsTime(x); @Nothing; x<lastdate; x; @Nothing))
                    );
0
 
varvouraAuthor Commented:
I did checking first to make sure that the field value I was comparing to wasn't null, then I tried to convert both value to @texttotime before @Transform. Your method is much easier and shorter.
I seem to use a lot of lengthy solutions, i wish I can abbreviate like you do

Thank you
0
 
Sjef BosmanGroupware ConsultantCommented:
It took me 25 IT-years and a lot of headaches to get these twisted brains. ;)
0
 
varvouraAuthor Commented:
25 years, now that's a lot years. does this mean that I have 20 years before my brain can twist this way????????????????

I have lots of respect for your twisted head though!!!

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.