I, имеющий код, который делает выбор:Отдельный NULL из небытия
val requestId = 123
DB.withConnection { implicit con =>
SQL("SELECT my_field FROM my_table WHERE some_id = {request_id}").onParams(requestId)()
.collect {
case Row(myField: Option[String]) =>
myField match {
case Some(x) =>
// ???
case None => //there is no such a record?
}
}
}
my_field
может быть NULL
. Таким образом, есть 3 варианта:
- запись
WHERE some_id = request_id
не существует - запись
WHERE some_id = request_id
существует и имеет значение - запись
WHERE some_id = request_id
существует иNULL
Как разделить 1 и 3?
Собирает ли даже итерацию по ряду, если она не существует? –
Нет, строк не будет, поэтому collect вернет пустой список/seq или что-то еще, что он возвращает. –
@SteveSowerby, в каком случае? –