SQL-подобный запрос содержит только определенный символJAVA

Программисты JAVA общаются здесь
Anonymous
SQL-подобный запрос содержит только определенный символ

Сообщение Anonymous »

Я пытаюсь получить записи с сервера SQL, начинающиеся с abc_, за которым следует хотя бы одна буква (a–z, A–Z), а затем продолжайте до конца, используя только буквы и цифры (a–z, A–Z, 0–9). Никаких специальных символов, таких как . , ; _ ? -
Я использую javax.persistence.Query, чтобы получить результат от dao, поэтому я предпочитаю использовать что-то вроде как условие. Но в основном я пытаюсь найти образец для SQL-запроса. Я думаю, что это не язык регулярных выражений
Реализация Java

Код: Выделить всё

public List getUserExport() {
Query query = userExportDao.createQuery("SELECT c FROM UserExport c WHERE c.objectId LIKE :value").setParameter("value", "abc_[a-z,A-Z]%");
return query.getResultList();
}
objectId — varchar(255), первичный ключ, не нулевой
Соответствует

Код: Выделить всё

abc_KlimD
ABC_PackoL
abc_novo65ny
abc_abcd
abc_abc1
Не совпадает

Код: Выделить всё

abc_ola_old
aBC_12615
abc_6novotny
abc_abc_
abc_ab_d
РЕДАКТИРОВАТЬ 1:

Код: Выделить всё

SELECT @@version
Microsoft SQL Server 2022
Использование [_] вместо _

Код: Выделить всё

where objectId like 'spu[_][a-z,A-Z]%'
where objectId like 'spu_[a-z,A-Z]%';
оба имеют одинаковый результат


Подробнее здесь: https://stackoverflow.com/questions/786 ... -character

Вернуться в «JAVA»