답변:
다음과 같은 여러 가지 방법이 있습니다.
where some_column is null or some_column = ''
또는
where ifnull(some_column, '') = ''
또는
where coalesce(some_column, '') = ''
의
where ifnull(length(some_column), 0) = 0
length
숫자를 비교하는 것이 문자열을 비교하는 것보다 더 간단하기 때문에 어떤 상황에서는 실제로 더 빠를 수 있기 때문에 예제를 포함했습니다 . 그 성능이 문제라면 당연히 그것이 무엇을하는지 확인해야합니다.
간단히 할 수있는 것 같습니다.
SELECT * FROM your_table WHERE some_column IS NULL OR some_column = '';
테스트 케이스 :
CREATE TABLE your_table (id int, some_column varchar(10));
INSERT INTO your_table VALUES (1, NULL);
INSERT INTO your_table VALUES (2, '');
INSERT INTO your_table VALUES (3, 'test');
INSERT INTO your_table VALUES (4, 'another test');
INSERT INTO your_table VALUES (5, NULL);
결과:
SELECT id FROM your_table WHERE some_column IS NULL OR some_column = '';
id
----------
1
2
5
다음과 같이 할 수 있습니다.
int counter = 0;
String sql = "SELECT projectName,Owner " + "FROM Project WHERE Owner= ?";
PreparedStatement prep = conn.prepareStatement(sql);
prep.setString(1, "");
ResultSet rs = prep.executeQuery();
while (rs.next()) {
counter++;
}
System.out.println(counter);
이렇게하면 열 값이 null이거나 비어있는 행 수가 표시됩니다.