본문 바로가기

로딩 중...


SQL 포매터

SQL 포매터는 한 줄로 길게 이어진 SQL 쿼리를 절과 키워드 단위로 줄을 나누고 들여쓰기해 읽기 좋게 정리하는 도구입니다. 애플리케이션 로그나 ORM이 출력한 쿼리, 코드 리뷰로 받은 압축된 쿼리처럼 한 줄에 뭉쳐 있어 눈으로 따라가기 힘든 SQL을 빠르게 구조화해서 봐야 할 때 주로 사용합니다. MySQL·PostgreSQL·Oracle·SQL Server 등 방언 문법에 맞춰 정렬합니다.

장애가 터지면 슬랙에 누가 붙여 넣은 에러 로그 한 줄에 SELECT부터 JOIN 대여섯 개에 WHERE 조건이 끝도 없이 이어진 쿼리가 통째로 찍혀 있는데, 그걸 눈으로 따라가며 어디서 잘못됐나 찾는 게 매번 고역이었습니다. 그때마다 어디 포매터에 붙여 넣고 다시 돌아오곤 했는데, 새벽에 정신없을 때 그 왕복이 싫어서 그냥 제가 쓰려고 만들었습니다.

사용 방법

지원하는 형식

붙여넣을 수 있는 건 한 줄이든 여러 줄이든 모든 SQL 쿼리 텍스트이고, 표준 SQL과 MySQL·PostgreSQL·SQL Server·Oracle·SQLite·BigQuery 방언을 지원합니다. 결과로는 절·키워드 단위로 줄바꿈하고 들여쓴 SQL 텍스트가 나오며, 키워드 대소문자(UPPER·lower·유지)와 들여쓰기 폭(2칸·4칸)을 직접 고를 수 있습니다.

  1. 입력창에 정렬할 SQL을 붙여넣고, 상단에서 방언·키워드 대소문자·들여쓰기를 고릅니다.

    SQL 포매터-guide-1

  2. 데이터 변환을 누르면 오른쪽에 정렬된 SQL이 나오고, 복사 버튼으로 클립보드에 가져갑니다.

    SQL 포매터-guide-2

자주 묻는 질문

한 줄로 길게 이어진 쿼리도 정렬되나요?

네, 줄바꿈 없이 한 줄로 뭉쳐 있는 쿼리를 붙여넣으면 SELECT·FROM·WHERE·JOIN 같은 절과 키워드 단위로 줄을 나눠 읽기 좋게 들여써 줍니다. 로그에 찍힌 쿼리나 ORM이 출력한 압축된 쿼리를 그대로 붙여넣어도 됩니다.

어떤 SQL 방언을 지원하나요?

표준 SQL과 함께 MySQL, PostgreSQL, SQL Server, Oracle, SQLite, BigQuery 방언을 지원합니다. 방언을 선택하면 백틱, 캐스팅, 함수 표기 등 해당 문법에 맞춰 정렬합니다.

키워드 대소문자나 들여쓰기 폭을 바꿀 수 있나요?

네, 키워드를 대문자(UPPER)·소문자(lower)·원본 유지 중에서 고를 수 있고, 들여쓰기는 2칸과 4칸 중에서 선택할 수 있습니다.

운영 DB 쿼리를 붙여넣어도 외부로 새지 않나요?

정렬은 브라우저 안에서만 처리되고 입력한 쿼리는 어디로도 전송되지 않습니다. 테이블 구조가 드러나는 운영 쿼리도 붙여넣어 정렬할 수 있습니다.