Несовместимые типы данных (hypersql) - PullRequest
0 голосов
/ 06 марта 2019

Почему я получаю ошибку несовместимых типов данных?

int blockSize = 100;
String city="London";
" select * from"+
"(" +
" select l.* from lottotable as l where l.city='"+city+"' and  l.date< cast('"+date+"' as date) order by l.date desc " +
")" +
" order by date asc limit CONVERT("+blockSize+", SQL_INTEGER )"

Ошибка:

java.sql.SQLSyntaxErrorException: несовместимый тип данных в работе:; в LIMIT, OFFSET или FETCH в выписке [выберите * из (выберите l. * из лотереи как l, где l.city = 'Лондон' и l.date <приведение ('2018-9-21' как дата), порядок l. упорядочить по дате Предел asc CONVERT (100, SQL_INTEGER)] </p>

Дерби нормально отключается

Обновление: структура таблицы очень проста LOTTOTABLE (ДАТА, ГОРОД, P1, P2, P3, P4, P5); p1 - ​​p5 - целые числа, дата имеет тип date, а город - varchar

1 Ответ

1 голос
/ 15 марта 2019

Измените запрос, как предложено в комментариях:

int blockSize = 100;
String city="London";
String queryText =
    " select * from"+
    "(" +
    " select l.* from lottotable as l where l.city='"+city+"' and  l.date< cast('"+date+"' as date) order by l.date desc " +
    ")" +
    " order by date asc limit "+blockSize;
...