Подставляя значение функции mysql, хранящейся в строке в выражении набора результатов, используя jsp - PullRequest
0 голосов
/ 26 марта 2012

В Java у меня есть определенная строка с именем year:

  String year="year(now())-1"

Теперь я хочу, чтобы значение этой строки было заменено ниже с помощью предложения where like:

 ResultSet rs = stmt.executeQuery("select abc from table where year like '"+year+"' " )

Но, используя приведенное выше утверждение, я не получаю результата.Может кто-нибудь сказать, пожалуйста, где я иду не так?

Ответы [ 4 ]

2 голосов
/ 26 марта 2012

до минус 1 года

DATE_SUB(NOW(),INTERVAL 1 YEAR)

Так что вы можете использовать

String year="DATE_SUB(NOW(),INTERVAL 1 YEAR)"

Финал:

ResultSet rs = stmt.executeQuery("select abc from table where year = "+year+"");
0 голосов
/ 26 марта 2012

включает% в лайк ...

ResultSet rs = stmt.executeQuery("select abc from table where year like '%"+year+"%' " )
0 голосов
/ 26 марта 2012

попробуйте использовать% в вас, где как:

stmt.executeQuery("select abc from table where year like '%"+year+"%' " )

0 голосов
/ 26 марта 2012

Вы пытались использовать оператор сравнения = вместо лайка? Кроме того, вы проверили входной параметр по отношению к данным? Зарегистрируйте запрос и посмотрите, что на самом деле генерируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...