cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Ajh
Advocate III
Advocate III

SQL GetRows OData Date Filter

I don't understand how to filter on datetime columns in MS Flow / Power Automate. This should be one of the easiest filters to apply... 

 

This page includes an example with pictures, but when replicated does not work:

 

 

 

WorkOrderCreatedTime gt addDays(utcnow('yyyy-MM-ddTHH:mm:ssZ'),-30)

 

 

 

Spam filter I think is triggering on my links sorry for the funky format:

 

 https://www.odata.org/documentation/odata-version-2-0/uri-conventions/ 

 

Note: One of the comments states that it should be surrounded in single quotes, but that also does not appear to work

SQLWorkOrderFilter

 

This page states that the filter criteria for a date/datetime should be surrounded in single quotes and preceded by the word datetime, but this does not appear to work.

 

 

 

 

 

DateTime values must be delimited by single quotation marks and preceded by the word datetime, such as datetime'2010-01-25T02:13:40.1374695Z'.

 

 

 

 

Spam filter I think is triggering on my links sorry for the funky format:

 

 

https://docs.microsoft.com/en-us/previous-versions/dynamicsnav-2016/hh169248(v=nav.90) 

 

 

Doing year(X) and month(X) etc is not an acceptable solution as it will not work if querying data older than 1 calendar year. 

Here are screen shots of things I've tried that don't work (StormDate is my datetime column). Successful response is included at the bottom to demonstrate the format of the response when I leave this particular filter off.

 

  • StormDate gt '2020-02-01T16:38:07.0000000Z'
  • StormDate gt 2020-02-01T16:37:41.0000000Z
  • StormDate gt '2020-12-12T11:11:11Z'
  • StormDate gt '2020-01-01T00:00:00Z'
  • StormDate gt '2020-01-01T00:00:00.000Z'
  • StormDate gt '2020-01-01T00:00:00.00Z'
  • StormDate gt 2020-01-01T00:00:00.00Z
  • StormDate gt datetime'2020-01-01T00:00:00.000Z'

They pretty much all end like this:

 

image.png

Here's a successful response where I leave the filter off:

image.png

58 REPLIES 58

Correct see my reply where I @'d you from Friday ~9:44 AM. There is a screenshot where the flow is successful. You commented that the response was empty, but that's OK, there wasn't any data on that specific day in my system. But the important thing was that the filter worked and didn't throw the JSON error, whereas using ge/gt throws the JSON error.

abm
Most Valuable Professional
Most Valuable Professional

Hi @Ajh 

 

Thanks for your reply.

 

StormDate eq '2020-03-15 00:00:00'

 

Here is my Sql test data.

 

image.png

 

image.png

 

Here is my test result which resulted in null

 

image.png

 

Yes it didn't complained about syntax error but the actual query did failed to return the correct results.

 

Thanks



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials

Hm interesting! You might check the time zone, the screenshot of your raw data is that in UTC?

abm
Most Valuable Professional
Most Valuable Professional

I believe so. I entered as dd/mm/yyyy format and it stored as yyyy/mm/dd hh:mm:ss format



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials

I think the default is to use your local time zone. try select stormdate, convert(stormdate,127) UTC from table , just to make sure we know what time zone it's in.

abm
Most Valuable Professional
Most Valuable Professional

Using my test data (see my earlier screenshot)  I tried the below query

 

Year(StormDate) ge 2020 and month(StormDate) ge 3 and day(StormDate) gt 15

 

ge - Greater or Equal to

gt - Greater than

 

So I am expecting two results date more than 15

 

I have got two records which is correct.

 
Next changed the query to below
Year(StormDate) ge 2020 and month(StormDate) ge 3 and day(StormDate) ge 15
 
I have got three records which is correct.
 
Could you please tell which data is failing for you when you using the Year, Month and day combination?
 
Thanks
 


Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials

I am not using year(), month(), day() notation. That is not an acceptable criteria when querying more than one year of data, it will result in incorrect results. So I'm not even testing that. It will 'work' but the results will not be what is expected.

 

When you use the eq notation '2010-01-01T00:00:00Z' the hour matters, because it is being compared. So if you're not seeing what you expect using that notation, it is most likely because the data is stored in your table in your local time zone, and the flow is using UTC. For instance, my local time zone is UTC-6, meaning if I insert a record into a DB that is set in my time zone for '2020-03-15', it will display correctly when I am querying and browsing around, but in reality the data is stored as UTC-6, meaning it is actually in the system as '2020-03-15T06:00:00'. So querying for eq '2020-03-15T00:00:00' would work but return no results.

Using year() month() and day() method, if you were to filter on 2019-03-16, your filter would evaluate to year > 2019, month > 3, and day > 16. You would miss data from jan and february as the months would be less than 3, and you would miss data from all months where day is < 15. So instead of 365 days of data, you'd have something like 100. image.png

abm
Most Valuable Professional
Most Valuable Professional

Hi @Ajh 

 

Yes I did some more tests and found out that year, month, date split not going to work? How about stored procedure?  Did you tried using that?

 

Thanks



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials

I'm not going to create a stored procedure for something that is at the core the most basic functionality of any data manipulation and that is supported by the standard that the documentation points to. This needs to just work. I submitted a help ticket to the MS folks, they are reviewing. Will let you know when I get a response.

abm
Most Valuable Professional
Most Valuable Professional

Hi @Ajh 

 

That's fine. Thanks for your replies. Hopefully this will be resolved soon.

 

Interesting findings 😀

 

Thanks



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials
abm
Most Valuable Professional
Most Valuable Professional

Hi @Ajh 

 

This worked for me. Tested with Date and it extracts the right records.

 

https://www.svenpauwels.com/microsoft-flow/flow-sql-server-connector-how-to-filter-the-date/

 

Thanks



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials

JEEEEEZUZ Where did you dig that up!?!?!! It worked!

 

For all those in the future that need to do this, here is the correct syntax:

StormDate ge date(2020-01-01T00:00:00Z)

To get 30 days of data, I did the following expression inside the purple box: 

addDays(utcNow(),-30)

 and so the final thing looks like:

image.png

and evaluates to:

image.png

If anyone from MS ever reads this, PLEASE update your documentation. PLEASE. 

abm
Most Valuable Professional
Most Valuable Professional

Hi @Ajh 

 

I have got a special search engine 😎 This is one of the post challenged me. I believe it is related to ODATA version. Glad that it did worked for you. Similar test I did earlier and worked perfectly. Thanks to Sven Pauwels for that post.

 

If you have any more questions please post in this community. There are lots of good knowledge here.

 

Thanks



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials

Lol I've been struggling with this for a REALLY long time. Gonna make a big difference in the performance of my flows. Now I need to go back and revisit all of those posts with the stupid loop within a loop work arounds and point them here.

Wish I'd seen the solution to this yesterday!

 

I ended up finding https://docs.microsoft.com/en-us/odata/webapi/date-and-timeofday-support which helped. They sure do love to make you hunt for information. No idea what version of odata flow/powerautomate even uses.

Ok - this has been driving me nuts too..eq in the date filter works fine but gt and ge do not. 

 

is it me?

A bit more clarity. 

I am looking for activity on all dates 30 days before today. 

If I just use 'eq' in the filter all works, if I change to 'ge' or 'gt' than it fails with a bad JSON comment.

 

ScreenHunter_3080 May. 04 17.37.jpg

 

I am using SQL Query in Power Automate to an on premises server. 

 

As follows - 

ScreenHunter_3079 May. 04 17.35.jpg

 

This Fails. 

ScreenHunter_3077 May. 04 17.31.jpg

 

This works.

ScreenHunter_3078 May. 04 17.33.jpg

Any ideas?

Is the column a date or datetime field? I think sometimes the reason it works for eq and not the others is because it treats it like a string it "ABC" = "ABC", but it doesn't quite know how to treat it like a date. I think it has to do with the OData specification they are using in the backend. I suggest you submit a support ticket to microsoft, they did eventually look at mine that was doing something similar to that and I think they fixed it. 

 

image.png

Anonymous
Not applicable

Hello,

 

I still have the same issue as depicted above:

ModifiedDateTime eq '2020-07-01' --> Works fine

ModifiedDateTime ge '2020-07-01' --> Fails with below error

 

2020-08-24 16_42_28-Settings.png

 

I think it may relate to the version of SQL Server I'm using (2008 R2).


Which SQL Version are you using?

 

Thx,

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22   Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 4:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji11FLMike31Sayan11ManishSolanki16VishnuReddy199710creativeopinion14Akshansh-Sharma3SudeepGhatakNZ7claudiovc2CFernandes5 misc2Nived_Nambiar5 Usernametwice232rzaneti5 eetuRobo2   Anil_g2   SharonS2  

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (852)