Почему ты так разбиваешь дату? Функции для каждой строки хорошо масштабируются , а не . Мне кажется, что весь раздел даты в конце можно заменить на:
where row_add_date = '2010-10-27'
Даже если вам нужен диапазон, вам все равно лучше использовать даты такими, какие они есть.
На основании ваших правок, подтверждающих, что вы используете переменные, вы должны выполнять вычисления в правой части условий. Это потому, что это будет сделано один раз до начала запроса. С тем, что у вас есть, вычисление на левой стороне будет выполняться один раз за строку, что определенно снижает производительность.