본문 바로가기
데이터스토리

칼럼의 값을 Null 처리하기 - Dbeaver에서

by 데이터스토리 2024. 7. 18.
반응형

DBeaver에서 셀의 값을 NULL로 변경처리하고 싶을 때 어떻게 하면 될까?

 

 

 

1. Null 과 공백의 만남

DBeaver 에서 DB 테이블을 조회해 보면 칼럼에 값이 있는데, 지우고 싶을 때가 있습니다.

그냥 지우고, 하단의 save 버튼을 누르면 됩니다.

 

그런데, 해당 칼럼 셀은 공백이 되어 있습니다. 그 옆이나 앞의 셀을 보면 "[NULL]" 이란 글자가 회색으로 보이며 NULL을 보여주고 있는데 말이죠.

 

2. DBeaver에서 공백 Null 처리하기

 

이 때는, "공백"인 셀을 선택하고, 마우스 우측버튼을 누릅니다.  

 

 

팝업메뉴에서 "Edit > NULL로 설정"을 선택합니다.

공백인 칸이 NULL 로 변경된 것을 알 수 있습니다. 참, 여기서 "Save" 버튼을 꼭 클릭해 주세요.

 

 

SQL 코드로 처리할 수 있습니다.

 

-- 기본문법

UPDATE table_name
SET column_name = NULL
WHERE id = 1;


-- 예시) 사원DB에서 234번 사원이 이름을 NULL 처리

UPDATE emp
   SET emp_name = NULL
 WHERE emp_id = 234;

 

 

3. NULL 과 공백의 차이

NULL 과 공백의 차이는 무엇일까요?

 

 

 

 

 

 

 

값이 있고 없고의 차이입니다.

 

그냥 보면 공백은 값이 없는 상태이죠. 

하지만, 컴퓨터는 공백을 빈문자열로 인식합니다. 그래서 길이를 측정하면 0으로 나옵니다.

반면 NULL은 아무 작용도 이루어지지 않은 상태 입니다.

그래서 길이를 측정할 수 없습니다. 그래도 길이를 측정해 보면 0 이 아닌 null 이 나옵니다.

 

아래 코드와 같습니다.

select null as "null", length(null) as "length" ;

-- null 값	length
-- [NULL]	[NULL]

select null as "공백", length('') as "length" ;

-- 공백 값	length
-- [NULL]	0

 

 두 값을 가지고 비교작업을 해 보면

NULL과의 비교 연산 결과는 항상 NULL입니다. 그래서 "NULL = NULL"은 TRUE가 아닙니다

그러면 NULL인지 확인은 어떻게 해야 할 까요?

"IS NULL"을 사용하면 됩니다.

예를 들어 사원 이름에 NULL 만 있는 데이터를 찾을 때, where 절에서 "emp_name is null"을 사용하면 됩니다.

 

반면 공백은 문자열이므로 다른 문자열과 비교할 수 있습니다. 즉, '' = ''은 TRUE가 되는 거죠

 

둘 간의 차이를 좀 파악하셨나요?

데이터의 세계에서는 공백같은 Null를 다룰 때 위와 같이 처리하면 됩니다.

 

반응형