Understanding partition elimination I am trying to understand the below query being run from our developers on read only database which just runs forever. 

Table here is partitioned table on partition column trickey per day.

Query is something like below

Select 
   a,
   b,
   c,
   d,
   trickey 
from 
   table 
where 
   (1=1) 
   and (1=1) and convert(varchar(10),trickey,112) BETWEEN 20190913 and 20190913


Will above query not eligible for partition key elimination OR how can i improve or tune up the above query?

Also what is the benefit of (1=1 )used in where clause and does that help or degrade performance?

@Justin- Modified query

Select 
       a,
       b,
       c,
       d,
       trickey 
    from 
       table 
    where 
       (1=1) 
       and (1=1) ---and convert(varchar(10),trickey,112) BETWEEN 20190913 and 20190913 replace this one with modified version

and trickey&gt;=cast('2019-09-13' as date)
and trickey&lt; cast('2019-09-14' as date)
You should be able to get the estimated query plan in SSMS without running the query.

If you do, you'll see that SQL Server is not going to be able to use partition elimination because you have a function on the partitioning column.  Just like using a function on an indexed column prevents SQL Server from using the index, using a function on a partitioning column prevents SQL Server from doing partition elimination.  SQL Server has no idea how to prove which partition function( column ) data might be in so it has to scan all of them.

Assuming trickey is a datetime column, you likely just want to compare it against dates directly rather than using a function

and trickey &gt;= cast( '2019-09-13' as date ) 
and trickey &lt;  cast( '2019-09-14' as date )