EMDI는 지금도 개발중

SQLite : IS NULL, MAX+1 사용하는 방법 본문

DataBase/SQLite

SQLite : IS NULL, MAX+1 사용하는 방법

EMDI 2020. 4. 24. 14:22

어느 DB 언어를 사용하든 ISNULL과 MAX+1이 필요할 때가 있습니다. 이번 글에서는 DB마다 ISNULL과 MAX+1를 사용하는 방법에 대해 기록하도록 하겠습니다.

1. SQLite

-- SELECT 문으로 사용할 때
-- SEQ의 값이 NULL일 때 초기값으로 0
SELECT IFNULL(MAX(SEQ), 0) FROM TABLE_NAME;

-- SEQ의 값이 NULL일 때 초기값으로 1
SELECT IFNULL(MAX(SEQ), 1) FROM TABLE_NAME;

-- INSERT 문으로 사용할 때
INSERT INTO TABLE_NAME(SEQ, TITLE, CONTENT)
		VALUES ((SELECT IFNULL(MAX(SEQ), 1) FROM TABLE_NAME), 'TEST', 'TEST');
        

해당 내용을 찾게 된 이유는 현재 제가 프로젝트로 SQLite를 사용하고 있는데 SQLite에서는 ISNull을 사용할 수 없더군요. 구글링을 통해 알아본 결과, SQLite는 ISNULL로 사용하지 않고 IFNULL로 사용할 수 있었답니다.

 

2. MS-SQL

-- SELECT문
SELECT ISNULL(MAX(SEQ), 1) FROM TABLE_NAME;

잠깐 비교하기 위해 다른 DB도 참고로 넣어놨습니다. 보통은 ISNULL로 사용합니다. 아마 Oracle이나 다른 DB에서도 비슷하게 사용이 가능할겁니다.

'DataBase > SQLite' 카테고리의 다른 글

SQLite : today 오늘날짜, 시간 가져오기 function 'now'  (0) 2020.04.24
Comments