web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / does SP's get items fi...
Power Automate
Answered

does SP's get items filter query support compare on date strings?

(0) ShareShare
ReportReport
Posted on by Microsoft Employee

I am looking to implement a query  filter in Get Items to compare a date that is stored as strings. The information in the following URL shows how to do this but I need to convert one of terms to be in the proper format

https://powerusers.microsoft.com/t5/Building-Flows/Filter-items-based-on-a-date-filter-query/m-p/202871/highlight/false#M21212

 
It seems Flow will not let the SP column name be used in function. Can someone confirm if this it true?
 
Filter Query = "TravelDate lt '@{addDays(utcNow(), -10)}'"  works but the I can not find a way to pass TravelDate into a formatDateTime function to proper compare the dates.
 
Not I am able to get this work with a FilterArray but it adds extra logic to my app. Also I am storing the date as a string to avoid known off by 1 scenarios with powerapps when working with dates.
 
Thanks.
 
Categories:
I have the same question (0)
  • martinav Profile Picture
    3,340 on at

    look at converting the text date to a time first, using the expression builder.  

     

    Try convertToUtc() or convertTimeZone() if you need it in a different timezone.  Both functions expect a string value for the time/date.  

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    formatDateTime also takes in a string. My issue is I cannot pass in the column name "TravelDate" in as a parameter. The expression editor does not like the way I am referring to "TravelDate" and if I manually enter the expression does not get evaluated and is seen as an invalid expression.

     

    That URL I posted shows how a the filter can evaluate a function if it embedded in single quotes. I am thinking that the column name probably cannot be passed into a function unless someone knows the syntax to do that

     

    Another approach, could be to convert the result of AddDays to a format that can work for comparisons. The problem with that approach is I am storing the data in MM/DD/YYYY format so so a srtring compare would not work properly. 

     

     

    Thanks

  • martinav Profile Picture
    3,340 on at

    Some require single quotes around the object.  Have you given that a try?  

     

    Note how some parameters need quotes (string) and values dont.  Not sure about dates.

     

    image.png

  • martinav Profile Picture
    3,340 on at
  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    The URL you refer to is similar to the one I posted. It does not use the column name in my table as an input to function. In that example it is using 

    expiry_x0020_date le 'formatDateTime(...)​'

    Had my column been formatted in a  date format that is YYYY/MM/DD than I can see the comparion workin but since my sharepoint list is in "MM/DD/YYYY" format and a srtring type, I do not think the compare will evaluate propery. I thnk it comes down to how the data source (sharepoint) compare a text based string to a date. 

    I'm going to try it with a couple of test dates but I suspect that unless the column type is date, the comparison will be comparing strings not dates. If I can get the strings in the same format for the filter, then the comparions should work consistently.

     

    Thanks.

     

     

  • ScottShearer Profile Picture
    25,290 Most Valuable Professional on at

    @Anonymous 

     

    I just noticed that the date is stored as a string. 

    You can't operate on any of the columns in a list in an OData filter.  In other words, you can't reformat the TravelDate column as part of the OData filter.  

     

    Try this as your query:

    TravelDate lt 'addDays(utcNow(),-10,'yyyy-MM-dd')'

     

    You should not have to reformat TravelDate.  

     

     

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    I wound up using 

    "TravelDate lt '@{addDays(utcNow(), -10, 'MM\/dd\/yyyy')}'"  since using dashes resulted in no matches.

    In any case, SP is doing a text compare.

    - If I use MM as in the format above, the filter evaluates to "TravelDate lt '09/10/2019'"  which returns no records since expressions starts with a 0.

    - If I use "addDays(utcNow(), -10, 'M\/dd\/yyyy')", it evaluates to "TravelDate lt '9/10/2019'" and retuns dates with a month starting it an 8 or less. 

     

    I read somewhere that there is a 'dateTime' quailifier used on constant dates but I lost the article. I am thinking maybe that can be used on the column Name. I was hoping there was a way to pass in the column name as an expression with @ and {} syntax but it seems the flow editor either doesn't allow it or the filter doesn't allow the column name to be used in formula.

     

    I will see if I can find that article that uses a non parenthesized way to express a date but I supect that won't work either. I guess I'll just need to live with "filterArray" and some overhead code if this doesn't work out. 

     

    Thanks.

     

     
  • Verified answer
    Community Power Platform Member Profile Picture
    Microsoft Employee on at

    I just re-read that article I posted. In there a MS response stated 

    "When configuring Filter Query, we can't use Expression to make any modifications to the column"

     

    so I guess that's the problem. It's known limitation of the filter. 

     

    I'm going to make this closed.

     

    Thanks for the help. 

     

  • martinav Profile Picture
    3,340 on at

    You can use formatdatetime() on expiry_x0020_date as well if it is in text form, in your case.  That will convert your text date into an object that you can pose the inequality.

     

    So, for your example (I might not have all of the syntax perfect...):

     

    @{formatdatetime('TravelDate','mm/dd/yyyy')} lt '@{formatdatetime(addDays(utcNow(), -10),'mm/dd/yyyy')}'

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    that is what I am looking for. Can you post the syntaxt I use in the get items filter field. the Flow editor either will not let me put the column name in,  or the output does not evalualte it. 

     

     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Leaderboard > Power Automate

#1
Haque Profile Picture

Haque 557

#2
Valantis Profile Picture

Valantis 328

#3
David_MA Profile Picture

David_MA 264 Super User 2026 Season 1

Last 30 days Overall leaderboard