복붙노트

[SQL] 필드 이름을 대괄호 안에 대괄호를 탈출하는 방법

SQL

필드 이름을 대괄호 안에 대괄호를 탈출하는 방법

나는 열 이름을 생성 일부 동적 SQL 있습니다. 빠른 예는 다음과 같이 수 있습니다 :

SELECT dbo.getSomething(123) [Eggs[scrambled] or Bacon[fried]]

마지막 열 이름이 있어야합니다 :

(내가 그 토큰에 여전히 XYZ와 오류를 교체하더라도) 나는 단어에 오류 또는 것이 실행하려고합니다. 내가 대괄호의 내부 세트를 꺼내하면 문제가 해결됩니다. 내 결론은 당신이 둥지 광장 브래킷은 어떻게 든 그들을 벗어날 수없는 것입니다 그래서.

어떻게이 경우에는 그들을 탈출합니까?

해결법

  1. ==============================

    1.당신은 적절한 이스케이프를 볼 수 QUOTENAME 기능을 사용할 수 있습니다.

    당신은 적절한 이스케이프를 볼 수 QUOTENAME 기능을 사용할 수 있습니다.

    select quotename('Eggs[scrambled] or Bacon[fried]') 
    

    보고

    [Eggs[scrambled]] or Bacon[fried]]]
    

    그래서 모든 닫는 대괄호가 두 배로해야합니다.

  2. ==============================

    2.인라인 끝에 꽉 A] []

    인라인 끝에 꽉 A] []

       SELECT [Eggs[scrambled]] or Bacon[fried]]] FROM Yummy
    
  3. ==============================

    3.SET QUOTED_IDENTIFIER 아무것도 탈출 할 필요하므로 기본적으로 설정되어 있습니다

    SET QUOTED_IDENTIFIER 아무것도 탈출 할 필요하므로 기본적으로 설정되어 있습니다

    SELECT 1 AS "[Eggs[scrambled] or Bacon[fried]]"
    
  4. ==============================

    4.엑셀 시트를 쿼리 SSIS SQL 문에서 개별 열을 선택하려면 괄호를 위해 대괄호를 대체해야합니다. 예를 선택하려면 "내 열이 [그레이트 칼럼]"선택 것 [내 열 (위대한 열)]에서 [$ A1 : AX10000]

    엑셀 시트를 쿼리 SSIS SQL 문에서 개별 열을 선택하려면 괄호를 위해 대괄호를 대체해야합니다. 예를 선택하려면 "내 열이 [그레이트 칼럼]"선택 것 [내 열 (위대한 열)]에서 [$ A1 : AX10000]

  5. from https://stackoverflow.com/questions/6074826/how-to-escape-square-brackets-inside-square-brackets-for-field-name by cc-by-sa and MIT license