Как вы справляетесь с такой ситуацией, когда Oracle хранит пустую строку как пустую в базе данных?
Я бы хотел, чтобы она сохранялась как пустая строка, поскольку она не равна NULL, так как запрос будет проще.
Примерно так будет выбирать пустую строку и непустую строку, но не нулевые значения
select * from mytable where myfield like '%';
если бы я хотел выбрать также нулевые значения (которые должны быть изначально пустой строкой), я должен был бы выбрать так:
select * from mytable where myfield like '%' or myfield is null;
Я хотел бы пропустить выполнение or myfield is null
все время позже в моих SQL-заявлениях
Текущее решение, которое я имею в виду, заключается в том, чтобы позаботиться об этом на уровне приложений,
например, в объекте я инициализирую все значение по умолчанию для моего поля String в пробел, например:
@Entity
public class MyEntity {
private String name = " ";
public void setName(String name) {
if (isEmptyString(name)) {
name = " ";
}
}
...
}
Или, возможно, я могу использовать новый тип, все еще неизвестный мне из Oracle 11g, который может сохранять пустую строку без изменения ее нулевого значения?
Спасибо!