[SQL] SQL 문자열 비교보다 적은 사업자보다 큰
SQLSQL 문자열 비교보다 적은 사업자보다 큰
나는 SQL을 공부하고있는 초보자입니다.
나는 일에 대한 의심입니다.
오늘은 몇 가지 쿼리 예제를 보여, 나는 WHERE 조건에서 일부 문자열 비교를 발견했다.
비교는이 SQL 문자열을 비교하는 방법이 가능하다 (>) 미만 (<) 심볼보다 더를 사용 하였다? 어떻게 행동 하는가? 적은 다른 것보다 문자열을 사전 순서로 앞에 오는? 예를 들어, 볼은 물보다 작다? 이 비교는 경우는 민감? 예를 들어 BALL <물은 upcase 문자는 이러한 비교에 영향을 미칩니 까?
나는 시간 동안 검색 좀했지만 난이 의심 날을 구동 할 수 아무것도 찾을 수 없습니다.
해결법
-
==============================
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.마이크로 소프트 SQL 서버에서 데이터 정렬은 비교와 관련하여 문자 데이터를 정렬하기위한 사전 규칙을 결정한다 :
마이크로 소프트 SQL 서버에서 데이터 정렬은 비교와 관련하여 문자 데이터를 정렬하기위한 사전 규칙을 결정한다 :
SQL Server는 비교 및 정렬이 바이너리 코드 포인트가 아닌 사전 규칙에 의해 이루어집니다 바이너리 데이터 정렬이 포함되어 있습니다. 일단 원하는 감도 동작에 따라 많은 정렬을 선택할 수 있습니다. SQL 설치하는 동안 라틴어 기반 언어 로케일에 대해 선택한 기본 데이터 정렬 사례를 구분 및 악센트를 구분합니다.
데이터 정렬은 인스턴스 (설치시), 데이터베이스 및 열 수준에서 지정됩니다. 인스턴스 데이터 정렬 변수, GOTO 레이블 및 임시 테이블에 대한 로그인 및 데이터베이스 이름뿐만 아니라 식별자와 같은 인스턴스 수준 개체의 데이터 정렬을 결정합니다. (기본적으로 인스턴스 데이터 정렬과 동일) 데이터베이스 데이터 정렬, 데이터베이스 테이블 및 열 이름과 같은 식별자뿐만 아니라 문자 그대로의 표현의 정렬을 결정합니다. (기본적으로 데이터베이스 데이터 정렬과 동일) 열 정렬이 해당 열의 데이터 정렬을 결정합니다.
그것은 '<', '>', '<>', LIKE, BETWEEN 등 비교하여 확실히 가능하다 문자열
from https://stackoverflow.com/questions/26080187/sql-string-comparison-greater-than-and-less-than-operators by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 오라클 SQL 이스케이프 문자 ( '&'A에 대한) (0) | 2020.04.26 |
---|---|
[SQL] "경우가 존재 삽입 또는 업데이트"SqlBulkCopy의 할 수있는 방법? (0) | 2020.04.26 |
[SQL] 어떤 "특별한"문자는 SQL 서버 VARCHAR 필드에 사용할 수 있습니다? [닫은] (0) | 2020.04.26 |
[SQL] 하나 개의 결과 집합의 열에 CONCATENATE 두 개의 데이터베이스 열 (0) | 2020.04.25 |
[SQL] SQL Server의 조건에 따라 카운트 (0) | 2020.04.25 |