복붙노트

[SQL] 마이크로 소프트 제트는 와일드 카드 : 별표 또는 백분율 기호를?

SQL

마이크로 소프트 제트는 와일드 카드 : 별표 또는 백분율 기호를?

무엇 마이크로 소프트 제트의 LIKE 연산자에서 적절한 다중 문자 와일드 카드는 어떤 설정 (있는 경우)를 영향을? 나는 (Access 데이터베이스에) 마이크로 소프트 제트에서 실행되는 기존 ASP 응용 프로그램을 지원하고 있는데 그것은 LIKE 연산자에서 % 기호를 사용하지만, 나는 % 문자가 정기적으로 이해되기 때문에 분명히 자신의 환경에서 문제가 고객이 자, 나는 그의 다중 문자 와일드 카드는 *라고 가정한다. 또한, 나는 거의 확실 과거에 내가 쿼리 대신 %의 * 사용하여 응용 프로그램을 작성했다고 해요. 마지막으로, (응용 프로그램)을 마이크로 소프트 액세스는 *을하지 %와 함께 작동합니다 (그러나 나는 그것이 얼마나 관련성이 확실하지 않다).

난 그냥 어떤 유용한 결과없이 인터넷을 검색 20분에 대한 지출, 그리고 나는 그것이 도움이 될 것이라고 생각 때문에 유래에 부탁드립니다. 누군가가 이미 알고 있고, 어쨌든 다른 임의 토론 포럼에 비해 유래의 잠재적 인 답변을 유지하는 것이 좋습니다.

해결법

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

    1.직선 대답은 인터페이스의 ANSI 쿼리 모드를 사용에 와일드 카드 문자의 동작을 따라 달라집니다 것입니다.

    직선 대답은 인터페이스의 ANSI 쿼리 모드를 사용에 와일드 카드 문자의 동작을 따라 달라집니다 것입니다.

    ANSI-89 쿼리 모드 ( '전통적인 모드') * 문자를 사용, ANSI-92 쿼리 모드 ( 'SQL 서버 호환 모드')는 % 문자를 사용합니다. 이 모드는 ACE / 제트에 고유하고 ANSI / ISO SQL-89 및 SQL-92 표준 만 통과 닮았다.

    도핑 인터페이스 (OLE DB) 항상 ANSI-92 쿼리 모드를 사용합니다.

    DAO 인터페이스는 항상 ANSI-89 쿼리 모드를 사용합니다.

    ODBC를 사용하는 경우 쿼리 모드는 명시 적으로 ExtendedAnsiSQL 플래그를 통해 지정할 수 있습니다.

    는 MS Access 사용자 인터페이스는 이후 2003 버전에서 어느 쿼리 모드를 사용할 수 있습니다, 그래서 하나 (예를 들어, 유효성 검사 규칙 쿼리 모드 별 와일드 카드 문자를 사용하지 마십시오) 주어진 시간에 다른 가정하지 않습니다.

    ACE / 제트 SQL 구문은 그러나 그러나합니다 (모두 키워드의 약간의 단점은 SQL-92 호환되지 않는이,에 관계없이 인터페이스의 쿼리 모드의 ANSI-92 쿼리 모드 문자 (% 및 _)를 허용하는 모두 키워드를 가지고 휴대 성이 모두 남아). 가장 큰 단점은, 그러나, (나는 그것이 사라지거나 곧 변화된 행동 언제든지있을 것이다 상상할 수 없다하지만) 나는 모두 키워드가 공식적으로 지원되지 않습니다 이해하는 것입니다.

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

    2.당신은 DAO (단일 기호 자리 및 물음표) 사용 별표 (*)를 사용하는 경우. 당신은 ADO를 사용 퍼센트 기호 (그리고 밑줄)를 사용하는 경우.

    당신은 DAO (단일 기호 자리 및 물음표) 사용 별표 (*)를 사용하는 경우. 당신은 ADO를 사용 퍼센트 기호 (그리고 밑줄)를 사용하는 경우.

  3. ==============================

    3.이 기능이 유용 할 수 있습니다 :

    이 기능이 유용 할 수 있습니다 :

    http://msdn.microsoft.com/en-us/library/aa140104(office.10).aspx

    DAO 쿼리 디자인 눈금에서와 함께 당신은 ADO와 ASP를 사용하면 %를 사용 * 사용

  4. ==============================

    4.ODBC를 통해 제트 액세스, 와일드 카드가 사용되어야 하는지를 나에게 분명하지 않다. 내가 ODBC I를 통해 제트 데이터를 사용하지 않을 때부터 자연 제트 SQL 것들을 가정 할 것 (*는 /?), 그러나 말할 수 없습니다.

    ODBC를 통해 제트 액세스, 와일드 카드가 사용되어야 하는지를 나에게 분명하지 않다. 내가 ODBC I를 통해 제트 데이터를 사용하지 않을 때부터 자연 제트 SQL 것들을 가정 할 것 (*는 /?), 그러나 말할 수 없습니다.

    당신이 사용하는 인터페이스 액세스 내 Remou는 인용 기사로 말한다, 코드, 무슨 데이터 액세스에 따라 달라집니다 - (아무도 Access 내에서 사용해서는 안) ADO를 사용하면, % / _를 사용하는 동안 DAO (제트의 기본 인터페이스 층 ), 당신은 제트의 기본 와일드 카드를 (사용 * /?).

    액세스는 액세스 내에서 SQL을 실행 이후 버전에서 예외가있다. 이 액세스 2002을 추가 2,003 있다면 모르겠지만, 요즘, 당신은 켤 수 있다는 ANSI SQL 92 호환 모드가있다. 당신이 할 경우, 와일드 카드 _ 대신 * /의 / %가 될? 그러나 ANSI 모드는 액세스 자체 내에서 적용 선택할 수있는 - onedaywhen 우리를 통보했다, 당신은 92 DAO와 ODBC 89를 사용하여 ADO로, 서로 다른 SQL 모드를 사용하는 다른 데이터 인터페이스 라이브러리를 선택해야합니다.

  5. from https://stackoverflow.com/questions/719115/microsoft-jet-wildcards-asterisk-or-percentage-sign by cc-by-sa and MIT license