SnowConvert AI - Oracle - Select¶
In this section you could find information about the select query syntax and its conversions.
참고
출력 코드의 일부 부분은 명확성을 위해 생략되었습니다.
전체 Select 변환¶
단순 select¶
Oracle:¶
Snowflake:¶
Where 절¶
Oracle:¶
Snowflake:¶
Order By 절¶
Oracle:¶
Snowflake:¶
Group by¶
Oracle:¶
Snowflake:¶
Model 절¶
model 절은 아직 지원되지 않습니다.
Row Limiting 절¶
Oracle:¶
Snowflake:¶
참고
Oracle에서는SELECT 에 ORDER BY 가 지정되지 않은 경우 FETCH/OFFSET WITH TIES 가 무시됩니다. 이 경우 ONLY 키워드가 포함된 FETCH/OFFSET 으로 변환되고, Snowflake에서 ONLY 키워드는 결과에 영향을 미치지 않으며 가독성을 위해서만 사용됩니다.
피벗¶
Snowflake는 다음 문을 지원하지 않음:\ - 열 이름 바꾸기\ - 다중 열
Oracle:¶
Snowflake:¶
Unpivot¶
Snowflake는 다음 문을 지원하지 않음:\ - INCLUDE / EXCLUDE NULLS
Oracle:¶
Snowflake:¶
JOIN (+)를 ANSI 구문으로 변환¶
위험
이 변환은 현재 비활성화되어 있으며, SnowConvert AI의 이전 버전으로 수행된 변환에 대한 참조용으로만 제공됩니다. 현재 변환은 위의 섹션을 확인하세요.
SnowConvert AI는 NON-ANSI 특수 외부 조인(+) 구문을 ANSI 외부 조인 구문으로 변환합니다. 이 하위 섹션에서는 몇 가지 예를 보여줍니다.
LEFT OUTER JOIN 으로¶
예 1:
Oracle:¶
Snowflake:¶
예 2:
Oracle:¶
Snowflake:¶
예 3: 다중 조인
Oracle:¶
Snowflake:¶
예 4: 다른 종류의 조건부와 조인하기
Oracle:¶
Snowflake:¶
예 5: 함수 내에서 (+)로 조인하기
Oracle:¶
Snowflake:¶
경고
LEFT OUTER JOIN 으로 변환된 일부 패턴은 행을 다른 순서로 검색할 수 있다는 점에 유의하십시오.
CROSS JOIN 으로¶
예 6: CROSS JOIN 을 사용해야 하는 복잡한 경우
Oracle:¶
Snowflake:¶
계층 쿼리¶
Hierarchical queries in Snowflake allow you to organize and retrieve data in a tree-like structure, typically using the CONNECT BY clause. This clause joins a table to itself to process hierarchical data in the table.
샘플 소스 패턴¶
Oracle:¶
Snowflake:¶
플래시백 쿼리 선택¶
설명¶
Oracle
Oracle에서 플래시백 쿼리 절을 사용하면 테이블, 뷰 또는 구체화된 뷰에서 과거 데이터를 검색할 수 있습니다. Oracle에서는 다음과 같은 용도로 사용할 수 있습니다.
삭제된 데이터 복원 또는 잘못된 커밋 실행 취소, 현재 데이터와 이전 시점의 해당 데이터 비교, 특정 시점의 트랜잭션 데이터 상태 확인, 과거 데이터에 대한 보고서 생성 도구 등을 사용할 수 있습니다. (Oracle 플래시백 쿼리 설명서).
Snowflake
과거 데이터를 쿼리하는 Snowflake의 동일한 메커니즘은 AT | BEGIN 쿼리입니다. 유일한 동등한 문은 AS OF 문입니다.
또한, Snowflake에는 데이터를 쿼리하여 테이블, 뷰, 스키마와 같은 오브젝트를 복제할 수 있는 완전한 “Time Travel” 설명서가 있습니다. 과거 또는 삭제된 데이터에 액세스할 수 있는 일수에는 제한이 있습니다(Fail-safe 상태로 넘어가기 전 90일). 자세한 내용은 Snowflake Time Travel 설명서 를 참조하십시오.
Oracle 구문
Snowflake 구문
참고
쿼리 ID 는 14일 이내에 실행된 쿼리를 참조해야 합니다. 쿼리 ID 가 14일이 지난 쿼리를 참조하는 경우 Error: statement <query_id> not found 오류가 반환됩니다. 이 제한을 해결하려면 참조된 쿼리에 타임스탬프를 사용하십시오. (Snowflake AT | Before 설명서)
샘플 소스 패턴¶
다음 예제에서는 쿼리 출력을 생성하는 데 다음 데이터가 사용됩니다.
Oracle¶
Snowflake¶
1. AS OF with TIMESTAMP case¶
Oracle¶
Snowflake¶
2. AS OF with SCN case¶
Oracle¶
Snowflake¶
Known Issues¶
SCN을 사용하는 경우의 옵션은 지원되지 않습니다.
VERSION 문은 Snowflake에서 지원되지 않습니다.
관련 EWIs¶
SSC-EWI-0040: 문이 지원되지 않습니다.
SSC-EWI-OR0135: Current of 절은 Snowflake에서 지원되지 않습니다.
SSC-FDM-0006: 숫자 유형 열이 Snowflake에서 유사하게 동작하지 않을 수 있습니다.
SSC-FDM-OR0042: 타임스탬프로 변환된 날짜 유형의 동작이 다릅니다.