테이블 별칭: 인용된 열 식별자에 대한 이름 확인 변경 사항

주의

이 동작 변경 사항은 2023_07 번들에 있습니다.

번들의 현재 상태는 번들 기록 섹션을 참조하십시오.

SELECT 문의 FROM 절에서 AS 절을 사용하여 테이블과 해당 열의 별칭을 정의할 수 있습니다. 예:

SELECT * FROM my_table AS my_table_alias(my_column_1_alias, my_column_2_alias);
Copy

이 공지에서는 테이블 별칭에서 인용된 열 식별자를 확인하는 방식의 변경 사항을 설명합니다.

변경 전

테이블 별칭의 열 식별자 주위에 큰따옴표를 사용하면 큰따옴표가 열 별칭의 일부가 됩니다.

예를 들어 다음 쿼리는 테이블 별칭(table_alias)과 따옴표가 포함된 열 별칭(《column_alias》)을 정의합니다.

SELECT * FROM table_1 AS my_table_alias("my_column_alias");
Copy

출력에서 첫 번째 열의 이름에는 따옴표가 포함됩니다("my_column_alias").

따옴표는 현재 열 별칭 이름의 일부이므로 이 열 별칭을 참조해야 하는 경우 따옴표를 포함해야 합니다. 예를 들어 선택한 열 목록에서 열 별칭을 참조하려면 열 별칭 이름에 따옴표를 포함해야 합니다.

SELECT """my_column_alias""" FROM table_1 AS my_table_alias("my_column_alias");
Copy

위의 예에서 열 별칭은 따옴표로 묶이며 열 별칭 이름 내의 따옴표는 큰따옴표 문자 2개로 지정됩니다.

변경 후

테이블 별칭의 열 식별자 주위에 큰따옴표를 사용하면 큰따옴표가 열 별칭의 일부로 사용되지 않습니다.

SELECT * FROM table_1 AS my_table_alias("my_column_alias");
Copy

출력에서 첫 번째 열의 이름에는 따옴표가 포함되지 않습니다(my_column_alias).

열 별칭 내에 따옴표를 사용하는 쿼리는 《유효하지 않은 식별자》 오류로 인해 실패합니다.

SELECT """my_column_alias""" FROM table_1 AS my_table_alias("my_column_alias");
Copy

테이블 별칭의 열에 큰따옴표로 묶인 식별자를 사용하는 경우 다음 접근 방식 중 하나로 SQL 문을 수정하십시오.

  • 열 이름을 그대로 유지해야 하는 경우(따옴표 및 대/소문자 구분 유지) 일반적인 테이블 식을 사용하여 열 별칭을 정의하도록 기존 쿼리를 다시 작성합니다.

    예를 들어 다음과 같이 변경합니다.

    SELECT """My_Column_Alias"""
      FROM table_1 AS my_table_alias("My_Column_Alias")
    
    Copy

    변경 후:

    WITH my_table_alias("""My_Column_Alias""")
        AS (SELECT * FROM table_1)
      SELECT """My_Column_Alias""" FROM my_table_alias
    
    Copy
  • 기존 쿼리의 출력 열 이름을 변경할 수 있는 경우 열 별칭 정의에서 따옴표를 제거해 보십시오.

    예를 들어 다음과 같이 변경합니다.

    SELECT """my_column_alias"""
      FROM table_1 AS my_table_alias("my_column_alias");
    
    Copy

    변경 후:

    SELECT my_column_alias
      FROM table_1 AS my_table_alias(my_column_alias);
    
    Copy

    이 문은 my_column_alias 식별자를 따옴표 없이 대문자로 생성하고 확인합니다. 이 접근 방식을 사용하는 경우 이 열 별칭을 참조하는 코드나 문을 조정해야 할 수도 있습니다.

    예를 들어 "my_column_alias" 를 사용하여 위 열에 액세스하는 대신 클라이언트 애플리케이션은 이를 MY_COLUMN_ALIAS 로 참조해야 할 수도 있습니다.

참조: 881