#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