Utilo

SQL 포매터 & 방언 변환

SQL 쿼리를 보기 좋게 정리하고 MySQL, PostgreSQL, SQLite, SQL Server 간 문법을 변환합니다. 식별자 따옴표, LIMIT/TOP/OFFSET, 자동 증가, 데이터 타입, 주요 함수를 처리합니다.

이 SQL 포맷터가 하는 일

이 도구는 두 가지 일을 합니다. 먼저, SQL을 포맷합니다. 한 줄당 한 문장, 일관된 힌트, 대문자 또는 소문자 키워드 및 읽을 수 있는 JOIN 및 CASE 블록을 사용하며, 전투 테스트 된 sql-formatter 엔진을 사용하여 방언 인식 분석. 둘째, MySQL, PostgreSQL, SQLite 및 SQL Server 사이에서 ** 기본 방언 변환 **를 수행하고 데이터베이스 간의 질의 또는 스키마를 이동할 때 가장 자주 뜯는 차이점을 처리합니다. 모든 것이 로컬로 실행되므로 실제 테이블 이름을 포함하는 생성 질의는 브라우저를 떠나지 않습니다.

사용 방법

  1. SQL을 입력에 붙여주세요.
  2. 소스 방언을 선택하고, 변환하려면 타겟 방언을 선택하세요. 목표물을 "유지"로 남겨두고 포맷만 하세요
  3. 키워드 케이스와 힌트 폭을 선택하세요.
  4. 메모판을 살펴보세요. 변환기가 안전하게 번역할 수 없는 모든 것이 거기에 나열되어 있습니다.
  5. 결과를 복사합니다.

변환기가 처리하는 것

  • ** 식별자 인용:** `name` (MySQL) ↔ "name" (PostgreSQL/SQLite) ↔ [name] (SQL 서버).
  • 줄 제한: LIMIT n OFFSET m TOP n OFFSET m ROWS FETCH NEXT n ROWS ONLY.
  • 자동 증가: AUTO_INCREMENT SERIAL/GENERATED ... AS IDENTITY AUTOINCREMENT IDENTITY(1,1).
  • ** 일반적인 유형:** DATETIME/TIMESTAMP, TINYINT(1)/BOOLEAN/BIT, NVARCHAR, TEXT, BLOB/BYTEA/VARBINARY(MAX).
  • ** 기능:** NOW()/GETDATE()/CURRENT_TIMESTAMP, IFNULL/ISNULL/COALESCE, RAND()/RANDOM(), CONCAT ||.
  • 문자열 리터얼과 코멘트는 보호되므로 'quotes' 내부의 키워드는 결코 다시 작성되지 않습니다.

제한

방언 변환은 패턴에 기반하고 완전한 컴파일러가 아닙니다. 저장된 절차, 트리거, 공급업체 특수한 기능 (창 프레임 특기, JSON 연산자, MERGE, ON DUPLICATE KEY 대 ON CONFLICT) 및 분류 세부 사항은 수동 검토가 필요합니다. 출력을 강력한 첫 번째 초안으로 취급하고 목표 데이터베이스에 테스트하십시오.

자주 묻는 질문

포맷이 내 쿼리의 기능을 변경합니까?

아니, 아니 포맷은 빈 공간과 키워드 케이스만 변경합니다. 식별자나 문자값은 건드리지 않았습니다.

여러 문장을 포맷할 수 있나요?

네, 그래요 세미콜로로 분리하면 각각의 문장이 따로 포맷됩니다.

왜 내 질의가 완전히 변환되지 않는가?

어떤 구조는 직접적인 동등한 것이 없습니다. 노트판에는 주의가 필요한 것들이 나열되어 있습니다.

내 SQL이 업로드 되었나요?

아니, 아니 포맷과 변환은 브라우저에서 실행됩니다.

네. 모든 처리는 JavaScript, Web Worker, Web API를 사용해 브라우저에서 직접 이루어집니다. 입력하거나 붙여넣거나 업로드한 내용은 서버로 전송되지 않습니다.

이 페이지는 영어에서 자동 번역되었습니다. 오류를 발견하시면 알려 주세요.