Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / MS Access синтаксис Like / 7 сообщений из 7, страница 1 из 1
18.04.2014, 08:36
    #38618264
LiQuid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Access синтаксис Like
Добрый день, SQL запрос не возвращает значение, вот запрос:
Код: java
1.
SELECT ID FROM tbl_All WHERE Doc_Number LIKE '9987-1*'


А запись в БД MS Access существует и значение 9987-1-1-2.
В чем ошибка?
Второй ворос как правильно для MS Access написать запрос который бы возвращал значение для текста:

Текст который передается aaa
Строка в которой нужно искать:
bbaaacc
...
Рейтинг: 0 / 0
18.04.2014, 08:44
    #38618272
LiQuid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Access синтаксис Like
Вот еще пример, "%" + DocNumber + "%", почему то результат в SQL такой: WHERE Doc_Number LIKE %'9987-'%' и вызывает ошибку.
Как написать так чтобы знак (') - был снаружи знака %?
Т.е чтобы запрос выглядел так:

WHERE Doc_Number LIKE '%9987-%'
...
Рейтинг: 0 / 0
18.04.2014, 08:49
    #38618273
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Access синтаксис Like
LiQuidДобрый день, SQL запрос не возвращает значение, вот запрос:
Код: java
1.
SELECT ID FROM tbl_All WHERE Doc_Number LIKE '9987-1*'



Надо писать либо
Код: sql
1.
ResultSet rs = statement.select("SELECT ID FROM tbl_All WHERE Doc_Number LIKE '9987-1%'")



Либо, лучше,
Код: sql
1.
2.
3.
PreparedStatement ps = connection.prepareStatement("SELECT ID FROM tbl_All WHERE Doc_Number LIKE %");
ps.setString(1, "9987-1%");
ResultSet rs = ps.execute();



LiQuidВторой вопрос как правильно для MS Access написать запрос который бы возвращал значение для текста:

Текст который передается aaa
Строка в которой нужно искать:
bbaaacc

Аналогично, только %aaa%
...
Рейтинг: 0 / 0
18.04.2014, 09:10
    #38618294
LiQuid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Access синтаксис Like
Алексей, вопрос не о ResultSet или PrepareStatement, это все есть в коде.
Вопрос другой, вот пример:
Код: java
1.
2.
3.
String aaa = "9987-";
String SQLTest = "Select ID From tbl_All Where Doc_Number LIKE " + "'%" + aaa + "%'";
System.out.println(SQLTest);


Вот результат:
Select ID FROM DCC_All WHERE Doc_Number LIKE '%'9987-'%'
По формату должно быть так:
Select ID FROM DCC_All WHERE Doc_Number LIKE '%9987-%'

Вопрос в том откуда лишние (') появились? И как правильно написать чтобы результат был:
Select ID FROM DCC_All WHERE Doc_Number LIKE '%9987-%'
...
Рейтинг: 0 / 0
18.04.2014, 16:39
    #38619028
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Access синтаксис Like
так будет правильнее
Код: java
1.
String SQLTest = "Select ID From tbl_All Where Doc_Number LIKE '%" + aaa + "%'";
...
Рейтинг: 0 / 0
18.04.2014, 16:44
    #38619030
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Access синтаксис Like
что будет так
Код: java
1.
2.
3.
String aaa = "9987";
String SQLTest = "Select ID From tbl_All Where Doc_Number LIKE '%" + aaa + "%'";
System.out.println(SQLTest);
...
Рейтинг: 0 / 0
18.04.2014, 16:51
    #38619043
LiQuid
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Access синтаксис Like
все решил, спасибо всем.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / MS Access синтаксис Like / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]