이 SQL 포맷터가 하는 일
이 도구는 두 가지 일을 합니다. 먼저, SQL을 포맷합니다. 한 줄당 한 문장, 일관된 힌트, 대문자 또는 소문자 키워드 및 읽을 수 있는 JOIN 및 CASE 블록을 사용하며, 전투 테스트 된 sql-formatter 엔진을 사용하여 방언 인식 분석. 둘째, MySQL, PostgreSQL, SQLite 및 SQL Server 사이에서 ** 기본 방언 변환 **를 수행하고 데이터베이스 간의 질의 또는 스키마를 이동할 때 가장 자주 뜯는 차이점을 처리합니다. 모든 것이 로컬로 실행되므로 실제 테이블 이름을 포함하는 생성 질의는 브라우저를 떠나지 않습니다.
사용 방법
- SQL을 입력에 붙여주세요.
- 소스 방언을 선택하고, 변환하려면 타겟 방언을 선택하세요. 목표물을 "유지"로 남겨두고 포맷만 하세요
- 키워드 케이스와 힌트 폭을 선택하세요.
- 메모판을 살펴보세요. 변환기가 안전하게 번역할 수 없는 모든 것이 거기에 나열되어 있습니다.
- 결과를 복사합니다.
변환기가 처리하는 것
- ** 식별자 인용:**
`name`(MySQL) ↔"name"(PostgreSQL/SQLite) ↔[name](SQL 서버). - 줄 제한:
LIMIT n OFFSET mTOP nOFFSET m ROWS FETCH NEXT n ROWS ONLY. - 자동 증가:
AUTO_INCREMENTSERIAL/GENERATED ... AS IDENTITYAUTOINCREMENTIDENTITY(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) 및 분류 세부 사항은 수동 검토가 필요합니다. 출력을 강력한 첫 번째 초안으로 취급하고 목표 데이터베이스에 테스트하십시오.