which time period covers date string over datetime column
A sargable exact alternative to DATE(ColumnName) = DATE'yyyy-mm-dd' is

ColumnName &gt;= TIMESTAMP'yyyy-mm-dd' AND
ColumnName &lt; TIMESTAMP'yyyy-mm-dd' + INTERVAL '1' DAY


Something like

ColumnName &gt;= 'yyyy-mm-dd 00:00:00' AND
ColumnName &lt;= 'yyyy-mm-dd 23:59:59'


is not only more complicated (and bug prone), but also leaves out any values between 'yyyy-mm-dd 23:59:59.000001' and 'yyyy-mm-dd 23:59:59.999999'.