복붙노트

[SQL] SQL 문자열 비교보다 적은 사업자보다 큰

SQL

SQL 문자열 비교보다 적은 사업자보다 큰

나는 SQL을 공부하고있는 초보자입니다.

나는 일에 대한 의심입니다.

오늘은 몇 가지 쿼리 예제를 보여, 나는 WHERE 조건에서 일부 문자열 비교를 발견했다.

비교는이 SQL 문자열을 비교하는 방법이 가능하다 (>) 미만 (<) 심볼보다 더를 사용 하였다? 어떻게 행동 하는가? 적은 다른 것보다 문자열을 사전 순서로 앞에 오는? 예를 들어, 볼은 물보다 작다? 이 비교는 경우는 민감? 예를 들어 BALL <물은 upcase 문자는 이러한 비교에 영향을 미칩니 까?

나는 시간 동안 검색 좀했지만 난이 의심 날을 구동 할 수 아무것도 찾을 수 없습니다.

해결법

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

    1.문자열 값뿐만 아니라 숫자 "작업"(포함 <및>) 비교 연산자.

    문자열 값뿐만 아니라 숫자 "작업"(포함 <및>) 비교 연산자.

    MySQL 용

    현의 characterset 대조는 대소 문자를 구분 _ci보다 오히려 _cs의 문자 집합, 즉 단부의 이름과 비교 될 때 문자열 비교는 대소 문자를 구별 할 것이다. 여기에 MySQL을 참조 설명서에서 사용할 수있는 모든 정보를 반복 아무 소용이 정말 없다.

    MySQL의 비교 연산자 참조 : http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html

    MySQL의 캐릭터 셋 / 데이터 정렬에 대한 자세한 정보 : http://dev.mysql.com/doc/refman/5.5/en/charset.html

    당신이 물어 특정 질문에 대답하려면 :

    Q :이 SQL에서 문자열을 비교하는 가능한 방법인가?

    A : 예, MySQL과 SQL 서버 모두에서

    Q : 어떻게 행동 하는가?

    A : 비교 연산자는, TRUE, FALSE 또는 NULL 중 하나를 부울을 반환합니다.

    Q : 적은 다른 것보다 문자열이 사전 순서로 앞에 오는? 예를 들어, 볼은 물보다 작다?

    A : 예, 'B'때문에 characteset 정렬에 이전에 'w'제공, 식

      'ball' < 'water'
    

    TRUE를 반환합니다. (이것은 characterset과 조합에 따라 달라집니다.

    Q :이 비교 경우를 구분?

    A : 특정 비교는 대소 문자를 구분 여부를 데이터베이스 서버에 달려있다; 기본적으로, SQL 서버와 MySQL 모두의 경우를 구분하지 않습니다.

    MySQL의에서는 대소 문자를 구분하는 characterset 데이터 정렬을 지정하여 문자열 비교를 할 수 있습니다합니다 (characterset 이름이 아니라 _ci보다는 _cs 종료됩니다)

    Q : 예를 들어 BALL <물, 위의 경우 문자는 이러한 비교에 영향을 미칩니 까?

    A : 기본적으로, SQL 서버와 MySQL 모두에서, 식

      'BALL' < 'water'
    

    TRUE 반환합니다.

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

    2.마이크로 소프트 SQL 서버에서 데이터 정렬은 비교와 관련하여 문자 데이터를 정렬하기위한 사전 규칙을 결정한다 :

    마이크로 소프트 SQL 서버에서 데이터 정렬은 비교와 관련하여 문자 데이터를 정렬하기위한 사전 규칙을 결정한다 :

    SQL Server는 비교 및 ​​정렬이 바이너리 코드 포인트가 아닌 사전 규칙에 의해 이루어집니다 바이너리 데이터 정렬이 포함되어 있습니다. 일단 원하는 감도 동작에 따라 많은 정렬을 선택할 수 있습니다. SQL 설치하는 동안 라틴어 기반 언어 로케일에 대해 선택한 기본 데이터 정렬 사례를 구분 및 악센트를 구분합니다.

    데이터 정렬은 인스턴스 (설치시), 데이터베이스 및 열 수준에서 지정됩니다. 인스턴스 데이터 정렬 변수, GOTO 레이블 및 임시 테이블에 대한 로그인 및 데이터베이스 이름뿐만 아니라 식별자와 같은 인스턴스 수준 개체의 데이터 정렬을 결정합니다. (기본적으로 인스턴스 데이터 정렬과 동일) 데이터베이스 데이터 정렬, 데이터베이스 테이블 및 열 이름과 같은 식별자뿐만 아니라 문자 그대로의 표현의 정렬을 결정합니다. (기본적으로 데이터베이스 데이터 정렬과 동일) 열 정렬이 해당 열의 데이터 정렬을 결정합니다.

    그것은 '<', '>', '<>', LIKE, BETWEEN 등 비교하여 확실히 가능하다 문자열

  3. from https://stackoverflow.com/questions/26080187/sql-string-comparison-greater-than-and-less-than-operators by cc-by-sa and MIT license