반응형
"SELECT DISTINCT"는 다른 경우를 무시합니다.
MSSQL Server 2000이 테이블에서 고유한 값을 선택해야 한다는 문제가 있습니다(특정 열은 nvarchar 유형임).같은 값이 있을 수도 있지만, 예를 들어 (의사 코드)와 같은 경우는 다릅니다.
SELECT DISTINCT * FROM ("A", "a", "b", "B")
돌아올 것입니다
A,b
하지만 저는 (그리고 기대합니다)
A,a,b,B
왜냐하면 그들은 실제로 다른 가치들이기 때문입니다.
이 문제를 어떻게 해결합니까?
데이터 정렬은 대소문자를 구분하지 않음으로 설정됩니다.
당신은 이런 것을 할 필요가 있습니다.
Select distinct col1 COLLATE sql_latin1_general_cp1_cs_as
From dbo.myTable
MS SQL은 확실하지 않지만 MySQL 또는 postgres에서는 다음을 사용합니다.BINARY
이 작업을 위해.다음과 같이 열을 이진수로 캐스팅합니다.
SELECT DISTINCT BINARY(column1) from table1;
그냥 바꾸기column1
그리고.table1
당신의 스키마에 따라.
MySQL 5.7에서 사용할 수 있는 전체 예제는 다른 사용자에게도 사용할 수 있습니다.
SELECT DISTINCT BINARY(gateway) from transactions;
건배!
SELECT DISTINCT
CasedTheColumn
FROM
(
SELECT TheColumn COLLATE LATIN1_GENERAL_BIN AS CasedTheColumn
FROM myTAble
)FOO
WHERE
CasedTheColumn IN ('A', 'a'...)
문제가 되는 열의 조합을 utf8-bin과 같은 이진법으로 설정해 보십시오.이 작업은 문 자체에서 수행하거나 테이블 구조를 직접 변경하여 수행할 수 있습니다(쿼리가 실행될 때마다 조회를 내부에 올바르게 저장하므로 조회를 매핑할 필요가 없음).
언급URL : https://stackoverflow.com/questions/2644851/select-distinct-ignores-different-cases
반응형
'programing' 카테고리의 다른 글
MySql ERROR 1045(28000):'root'@'localhost' 사용자에 대한 액세스가 거부되었습니다(암호 사용: 아니요). (0) | 2023.08.26 |
---|---|
python의 mysql 인스턴스 설치 문제 (0) | 2023.08.26 |
iPhone에서 URL의 유효성을 검사하는 방법 (0) | 2023.08.26 |
Android Webview는 다음과 같은 이점을 제공합니다.ERR_CACH_MISS 메시지 (0) | 2023.08.21 |
SQL 서버에서 업데이트 전 트리거를 수행하려면 어떻게 해야 합니까? (0) | 2023.08.21 |