Как запросить в базе данных, чтобы проверить, существует ли фраза этого символа или нет в groovy

#mysql #grails #grails-orm

Вопрос:

Я новичок в groovy. Я пытаюсь сделать запрос в базе данных, который, если этот символ, например «099900», содержится в базе данных. в общем случае я сохраняю в базе данных строку типа : «9898989898», но я хочу сделать запрос, который даст мне все результаты, чей символ начинается с «98». Есть идеи?

 class AccountNumber {


    static reportable = [columns: ['id', 'number']]

    static mapping = {
        cache false
        table 'accountNumber'
        version false
        id generator: 'identity', column: 'id'
    }
    Integer id;
    String number;

}
 

Ответ №1:

В MySQL тебе можно пользоваться substring .

 select substring(column_name, 1, 2)='98'
 

ПОДСТРОКА :
https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_substring

Я не знаю, как реализовать на groovy, но вы можете найти очень полезную информацию здесь: https://groovy-lang.org/databases.html

Ответ №2:

Способ ГРААЛЯ сделать это:

 def accounts = AccountNumber.findByNumberLike("98%")

// Now you can do something with the returned accounts
// For example:
accounts.each { account ->
    println "ID: ${account.id}, NUMBER: ${account.number}"
}
 

Комментарии:

1. Вот официальная документация о запросах на GRAILS 2 и GRAILS 3 и 4