Hi Dharam,

The JSONFormatter uses Jackson under the covers. It would understand the ISO date standard and under the covers covert the field into a date. You must just be aware that as soon as you add a time component, it does not read that correctly (it parses dates, but not date time unless told otherwise).

If you are certain you will never have a time component, your below described method would work. If you suspect you might receive a time component, I'd advise to use the Long representation.

--Udo

On 5/11/17 23:07, Thacker, Dharam wrote:

Wow! Somehow I could make it work due to ISO date format followed across all data sources [YYYY-MM-DD]. In this case it works naturally due to lexicographic comparison of string fields.

I can simply say now,

select e.x,e.y,e.z from /Event e where e.legalDate > ‘2018-09-22’

At least Equals/Greater Than/Less Than works with ISO date format J

Regards,

Dharam

*From:*Thacker, Dharam
*Sent:* Thursday, May 11, 2017 8:57 PM
*To:* [email protected]
*Subject:* Re: How to handle string as java date type

Hi Udo,

Thanks for the update! Apologies for typo error in below query while writing. I tried correct one though in pulse.

Long fields work for me but it requires some extra efforts as usually golden copy json store contains those fields as date string format but while uploading it to cache we have to apply data xformation to parse and convert json data.

It would be great to see enhanced function support for such use cases !

Regards,

Dharam



Sent with BlackBerry Work (www.blackberry.com <http://www.blackberry.com>)

------------------------------------------------------------------------

*From: *Udo Kohlmeyer <[email protected] <mailto:[email protected]>>
*Sent: *May 11, 2017 8:41 PM
*To: *[email protected] <mailto:[email protected]>
*Subject: *Re: How to handle string as java date type

Hi Dharam,

As Gang Yan indicated, comparing date entries using longs is far simpler than using Date strings.

Also, have you noticed that you have 2 "from /Event e" clauses in your query.

There is an ongoing discussion about a ways how to better handle unstructured data and how to describe the data fields.

--Udo

On 5/11/17 07:50, Gang Yan wrote:

    If you convert it to long,  do not need to_date  for the long
    field again.

    Thacker, Dharam <[email protected]
    <mailto:[email protected]>>于2017年5月11日
    周四下午10:48写道:

        Ok even if I convert it long format, how I can use that in
        compare expression

        Assuming data as below,

        {"id":"5","eventId":"Event4","intField":400,"currentDate":
        1471254472000,"legalDate": 1471254472000}

        select e from /Event e where
        to_date(e.currentDate,'yyyy/MM/dd') >
        to_date(‘2018/02/20’,’yyyy/MM/dd’) from /Event e

        Query is invalid due to error - Syntax error in query-
        expecting StringLiteral, found 'e'

        Regards,

        Dharam

        *From:*Gang Yan [mailto:[email protected] <mailto:[email protected]>]
        *Sent:* Thursday, May 11, 2017 8:11 PM
        *To:* [email protected] <mailto:[email protected]>
        *Subject:* Re: How to handle string as java date type

        hi  Dharam

        maybe you can try to_date.

        but for reason of performance, I think that you can choose a
        long to represent a date value instead of a string.


        Thanks and regards

        Gang Yan(闫钢)

        Sr. Solution Architect

        Customer Success, Pivotal Great China

        Mobile:+86 13636347460

        [email protected] <mailto:[email protected]>

        2017-05-11 21:43 GMT+08:00 Thacker, Dharam
        <[email protected]
        <mailto:[email protected]>>:

        Hi Team,

        Is there any good way to play with DateType if I have
        PdxInstance data having date string with type [java.lang.String]?

        *_Example:_*

        "duedates": {

        "legalDate": "2022-04-19",

        "currentDate": "2022-04-19",

        }

        My goal is to get results based on date comparison,

        select i from /Event i where i.duedates.legalDate > ‘2022-04-15’

        Thanks & Regards,

        Dharam

        This message is confidential and subject to terms at:
        http://www.jpmorgan.com/emaildisclaimer
        <http://www.jpmorgan.com/emaildisclaimer> including on
        confidentiality, legal privilege, viruses and monitoring of
        electronic messages. If you are not the intended recipient,
        please delete this message and notify the sender immediately.
        Any unauthorized use is strictly prohibited.

        This message is confidential and subject to terms at:
        http://www.jpmorgan.com/emaildisclaimer
        <http://www.jpmorgan.com/emaildisclaimer> including on
        confidentiality, legal privilege, viruses and monitoring of
        electronic messages. If you are not the intended recipient,
        please delete this message and notify the sender immediately.
        Any unauthorized use is strictly prohibited.

--
    null

This message is confidential and subject to terms at: http://www.jpmorgan.com/emaildisclaimer <http://www.jpmorgan.com/emaildisclaimer> including on confidentiality, legal privilege, viruses and monitoring of electronic messages. If you are not the intended recipient, please delete this message and notify the sender immediately. Any unauthorized use is strictly prohibited.


Reply via email to