복붙노트

[SQL] 어떻게 아포스트로피 (작은 따옴표)를 포함하는 값을 삽입하려면?

SQL

어떻게 아포스트로피 (작은 따옴표)를 포함하는 값을 삽입하려면?

거기에 아포스트로피를 사용하여 값을 삽입하는 올바른 SQL 구문은 무엇입니까?

Insert into Person
  (First, Last)
Values
  'Joe',
  'O'Brien'

본인은 O 후 아포스트로피가있는 값의 끝 태그입니다 생각하는 오류가 점점 계속.

해결법

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

    1.아포스트로피 탈출 (즉, 두 번까지 작은 따옴표 문자) 당신의 SQL의를 :

    아포스트로피 탈출 (즉, 두 번까지 작은 따옴표 문자) 당신의 SQL의를 :

    INSERT INTO Person
        (First, Last)
    VALUES
        ('Joe', 'O''Brien')
                  /\
              right here  
    

    동일은 SELECT 쿼리에 적용

    SELECT First, Last FROM Person WHERE Last = 'O''Brien'
    

    아포스트로피, 또는 따옴표, SQL에서 특수 문자가되도록 지정 시작과 문자열 데이터의 끝. 당신의 리터럴 문자열 데이터의 일부로 사용하는이 방법 당신은 특수 문자를 이스케이프해야합니다. 작은 따옴표로이 일반적으로 견적을 두 배로하여 수행됩니다. (두 개의 작은 따옴표 문자가 아닌 대신 작은 따옴표의 이중 인용.)

    참고 : 이제까지 외부 개발 및 테스트의 쿼리를 작성 이후 원시 SQL 인터페이스를 통해 당신을 수동으로 편집 데이터가 드문해야이 문제에 대해 걱정 만한다. 코드에서 탈출 특수 문자, SQL 주입 등의 돌봐를 (당신의 스택에 따라) 기술과 프레임 워크가있다

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

    2.당신은 작은 따옴표를 두 배로해야 그냥 ...

    당신은 작은 따옴표를 두 배로해야 그냥 ...

    insert into Person (First, Last)
    values ('Joe', 'O''Brien')
    
  3. ==============================

    3.당신은 어포 스트로피를 탈출해야합니다. 당신의 삽입 문이 될 수 있도록 T-SQL에서이 이중 아포스트로피입니다 :

    당신은 어포 스트로피를 탈출해야합니다. 당신의 삽입 문이 될 수 있도록 T-SQL에서이 이중 아포스트로피입니다 :

    Insert into Person
    (First, Last)
    Values
    'Joe', 'O''Brien'
    
  4. ==============================

    4.작은 따옴표는 문자열의 시작과 끝을 나타 내기 위해 사용되기 때문에, 당신은 그것을 탈출해야합니다.

    작은 따옴표는 문자열의 시작과 끝을 나타 내기 위해 사용되기 때문에, 당신은 그것을 탈출해야합니다.

    '-로 값을 저장하기 위해 SQL 데이터베이스에 대한 위해' '- 짧은 대답은 두 개의 작은 따옴표를 사용하는 것입니다.

    입력 값을 소독하기 위해 교체 사용을 봐 :

    고독한 작은 따옴표를 탈출하기 위해 '' '' ''가 함께 문자열에 존재하는 경우, 그 교체 '당신은' ''를 확인합니다.

  5. ==============================

    5.eduffy 좋은 생각을 가지고 있었다. 그는 단지 자신의 코드 예제에 거꾸로 얻었다. 어느 자바 스크립트 또는 SQLite는 당신은 악센트 기호 아포스트로피를 대체 할 수 있습니다.

    eduffy 좋은 생각을 가지고 있었다. 그는 단지 자신의 코드 예제에 거꾸로 얻었다. 어느 자바 스크립트 또는 SQLite는 당신은 악센트 기호 아포스트로피를 대체 할 수 있습니다.

    그는 (실수로 나는 확신) 대신 오브라이언에 아포스트로피를 대체하는 문자열에 대한 구분 기호로 악센트 기호를 배치했다. 이것은 사실 대부분의 경우 굉장히 간단한 솔루션입니다.

  6. ==============================

    6.아포스트로피 문자의 ASCII 아포스트로피 테이블 룩업 값과 CHAR 함수를 호출하여 삽입 할 수있는, 39 문자열 값이어서 CONCATENATE 연산자와 함께 연결될 수있다.

    아포스트로피 문자의 ASCII 아포스트로피 테이블 룩업 값과 CHAR 함수를 호출하여 삽입 할 수있는, 39 문자열 값이어서 CONCATENATE 연산자와 함께 연결될 수있다.

    Insert into Person
      (First, Last)
    Values
      'Joe',
      concat('O',char(39),'Brien')
    
  7. ==============================

    7.다음 SQL이 기능을 보여줍니다.

    다음 SQL이 기능을 보여줍니다.

    declare @person TABLE (
        [First] nvarchar(200),
        [Last] nvarchar(200)
    )
    
    insert into @person 
        (First, Last)
    values
        ('Joe', 'O''Brien')
    
    select * from @person
    
    First   | Last
    ===================
    Joe     | O'Brien
    
  8. ==============================

    8.값 주위에 따옴표를 사용합니다.

    값 주위에 따옴표를 사용합니다.

    insert into Person (First, Last) Values("Joe","O'Brien")
    
  9. ==============================

    9.대신합니다 (~ 키)를 역 따옴표를 사용;

    대신합니다 (~ 키)를 역 따옴표를 사용;

    `O'Brien`
    
  10. from https://stackoverflow.com/questions/1912095/how-to-insert-a-value-that-contains-an-apostrophe-single-quote by cc-by-sa and MIT license