I think the string value would be $0 or $1. Or you can use .params with a map to do by name and use $date or whatever you want to name it.
On Sat, Jan 2, 2021 at 8:18 AM Andrea Biasillo <[email protected]> wrote: > Yes, there is, but how will be the syntax? > > > > On 2021/01/02 14:07:55, John Huss <[email protected]> wrote: > > > Isn’t there a version of .exp that takes args? You can pass a date object > > > directly there without worrying about formatting. > > > > > > On Sat, Jan 2, 2021 at 7:49 AM Andrea Biasillo <[email protected]> wrote: > > > > > > > Hi Mike! > > > > > > > > > > > > > > > > I have tried with: > > > > > > > > > > > > > > > > Expression expDate = ExpressionFactory.exp("modifiedDate> > > > > TO_DATE('2003-07-17','yyyy-mm-dd')"); > > > > > > > > > > > > > > > > but I get this exception: > > > > > > > > > > > > > > > > Caused by: org.apache.cayenne.exp.ExpressionException: [v.4.2.M1 Nov 26 > > > > 2020 09:20:26] Encountered " "(" "( "" at line 1, column 22. > > > > > > > > Was expecting one of: > > > > > > > > <EOF> > > > > > > > > "or" ... > > > > > > > > "and" ... > > > > > > > > "|" ... > > > > > > > > "^" ... > > > > > > > > "&" ... > > > > > > > > "<<" ... > > > > > > > > ">>" ... > > > > > > > > "+" ... > > > > > > > > "-" ... > > > > > > > > "/" ... > > > > > > > > "*" ... > > > > > > > > > > > > > > > > and I really would want to have all my expression in one string, > without > > > > use greaterExp. > > > > > > > > Like this: > > > > > > > > > > > > > > > > Expression exp = ExpressionFactory.exp("businessPartnerName='andrea' > and > > > > businessPartnerCode!='rossi' or ((businessPartnerCode!='bianchi' and > > > > maxAdvancePaymentPercent>9) or businessPartnerCode!='pippo' or > > > > (maxAdvancePaymentPercent>100 or maxAdvancePaymentPercent<10)) and > > > > modifiedDate> TO_DATE('2003-07-17','yyyy-mm-dd')"); > > > > > > > > > > > > > > > > But maybe it is not possible. > > > > > > > > > > > > > > > > Andrea > > > > > > > > > > > > > > > > On 2021/01/02 12:45:49, Mike Kienenberger <[email protected]> wrote: > > > > > > > > > Oracle expects SQL like the following to compare dates. > > > > > > > > > > > > > > > > > > MODIFIED_DATE > TO_DATE('2003-07-17','yyyy-mm-dd') > > > > > > > > > > > > > > > > > > You either need to use that in your exp() method, or use > greaterExp(), > > > > > > > > > which can automatically generate the needed sql for the current > database. > > > > > > > > > > > > > > > > > > Date date = new GregorianCalendar(2003, Calendar.JULY, > > > > > > > > > 17).getTime() ; > > > > > > > > > Expression matchDateGreaterThanDate1 = > > > > > > > > > ExpressionFactory.greaterExp("MODIFIED_DATE", date); > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Jan 2, 2021 at 3:45 AM Andrea Biasillo <[email protected]> > wrote: > > > > > > > > > > > > > > > > > > > Hi! > > > > > > > > > > > > > > > > > > > > Is it possible to use Date values in ExpressionFactory.exp? > > > > > > > > > > > > > > > > > > > > This works very well: > > > > > > > > > > > > > > > > > > > > Expression exp = > ExpressionFactory.exp("businessPartnerName='andrea' > > > > and > > > > > > > > > > businessPartnerCode!='rossi' or ((businessPartnerCode!='bianchi' > and > > > > > > > > > > maxAdvancePaymentPercent>9) or businessPartnerCode!='pippo' or > > > > > > > > > > (maxAdvancePaymentPercent>100 or maxAdvancePaymentPercent<10))"); > > > > > > > > > > > > > > > > > > > > but if I use a Date value like this: > > > > > > > > > > > > > > > > > > > > Expression expDate = ExpressionFactory.exp("modifiedDate> > > > > '2003-07-17'"); > > > > > > > > > > > > > > > > > > > > The database, Oracle in my case, will complain: > > > > > > > > > > > > > > > > > > > > Literal does not match format string > > > > > > > > > > (the database expects something like this: MODIFIED_DATE > DATE > > > > > > > > > > '2003-07-17') > > > > > > > > > > > > > > > > > > > > Any input? > > > > > > > > > > > > > > > > > > > > Andrea > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
