запрос, чтобы получить количество записей до предыдущего дня

У меня есть таблица "empdata" она содержит поля create date, last modified date, emp id. Для проверки счетчика запускаю запрос "select count(*) from empdata". Теперь мне нужен запрос, где я должен получить результаты до вчерашней даты.

Например:

select count(*) from empdata
output: 23

select count(*) from empdate (здесь нужно условие на вчерашнюю дату)

output:20

Примечание. **Мне нужно использовать этот запрос в программе Java, поэтому я не могу указать вчерашнюю дату в запросе. Программа Java будет запускаться ежедневно, поэтому дата будет * меняться ежедневно. *


db2
person Jhansi    schedule 26.04.2016    source источник
comment
Лучше всего использовать только одну базу данных за раз или запросить универсальное решение SQL. На какой системе вы работаете? Что за столбец с указанием даты?   -  person tadman    schedule 26.04.2016
comment
createdate - это столбец, указывающий. я работаю в db2   -  person Jhansi    schedule 26.04.2016
comment
Тогда с какой стати вы пометили вопрос тегами mysql и ms sql в первую очередь? И почему вы не удалили их, как только ваше внимание было привлечено к проблеме?   -  person Shadow    schedule 27.04.2016


Ответы (1)


Используйте этот запрос, чтобы получить результаты, условие, которое вы задали, должно быть

где create_date ‹ current_date()

select count(*) from empdata where create_date<current_date()

Вы упомянули, что хотите запустить эту программу в java, попробуйте jdbc

http://www.tutorialspoint.com/jdbc/

изменить:

используйте CURRENT DATE вместо current_date() в приведенном выше запросе для db2

person Andrews B Anthony    schedule 26.04.2016
comment
когда я работаю, выберите count(*) FROM empdata, где createdate‹current_date(); получаю сообщение об ошибке SQL0440N Не найдена авторизованная подпрограмма с именем CURRENT_DATE типа FUNCTION, имеющая совместимые аргументы. SQLSTATE=42884 - person Jhansi; 26.04.2016
comment
какой у вас сервер БД и версия....? - person Andrews B Anthony; 26.04.2016
comment
Вы должны использовать DB2, в db2 нет функции current_date(), вместо этого используйте ТЕКУЩУЮ ДАТУ, она будет работать - person Andrews B Anthony; 26.04.2016
comment
Большое спасибо Эндрюс. Теперь это работает - person Jhansi; 26.04.2016