SQL 대소 문자 구분 비교

크롤

두 필드가 동일한 경우 CASE 문으로 알고 싶습니다.

다음 쿼리로 수행했지만 더 나은 접근 방법이 있는지 궁금합니다. 나는 '='가 대소 문자 구분 비교를 원합니다. COLLATE로 시도했지만 결과를 필터링하는 WHERE 절을 사용해야합니다. 모든 행을 원합니다. 그리고 HASHBYTES를 사용하면 특히 ISNULL과 결합해야 할 때 과도하게 보입니다.

DECLARE @myTable AS TABLE (old varchar(255), new varchar(255));
INSERT INTO @myTable VALUES
    ('test', 'test'),
    ('test', 'TEST'),
    (null, null)


SELECT old, new, 
    CASE WHEN HASHBYTES('SHA2_512', old) = HASHBYTES('SHA2_512', new) THEN 'same' ELSE 'changed' END AS updated,
    CASE WHEN HASHBYTES('SHA2_512', ISNULL(old, '')) = HASHBYTES('SHA2_512', ISNULL(new, '')) THEN 'same' ELSE 'changed' END AS updated_isnull
FROM @myTable
--where old = new COLLATE Latin1_General_CS_AS

'updated_isnull'열이 필요합니다.

| old  | new  | updated | updated_isnull |
| ---- | ---- | ------- | -------------- |
| test | test | same    | same           |
| test | TEST | changed | changed        |
| NULL | NULL | changed | same           |
GMB

적절한 해결책은 데이터가 대소 문자를 구분하는 데이터 정렬에 저장되도록 열을 수정하는 것입니다. 그런 다음 다음을 수행합니다.

select old, new,
    case when old = new
             or (old is null and new is null)
         then 1
        else 0 
    end as is_same
from @mytable

대소 문자를 구분하지 않는 데이터 정렬을 사용하면 다음과 같이 해결할 수 있습니다.

select old, new,
    case when old collate Latin1_General_Bin = new collate Latin1_General_Bin 
             or (old is null and new is null)
         then 1
        else 0 
    end as is_same
from @mytable

DB Fiddle 데모 :

이전 | 새로운 | is_same 
: --- | : --- | ------ : 
테스트 | 테스트 | 
테스트 1 개 | 테스트 | 0 null | null | 1

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SQL에서 대소 문자 구분 문자열 비교 (MariaDB, MySQL)

분류에서Dev

EF Core postgresql 문자열 비교 (대소 문자 구분 안 함)

분류에서Dev

스키마 비교 및 SqlPackage 150 대소 문자 구분 문제

분류에서Dev

Aqua Data studio, 비교 결과, 열 이름 대소 문자 구분

분류에서Dev

SQL-대소 문자 구분

분류에서Dev

Fortran에서 대소 문자를 구분하지 않는 문자열 비교

분류에서Dev

대소 문자를 구분하지 않는 두 문자열 비교

분류에서Dev

C # 대소 문자를 구분하지 않는 문자열 비교

분류에서Dev

C # 문자열 비교 대소 문자 구분 무시 HTML 태그

분류에서Dev

KeyValuePair에 대한 대소 문자를 구분하지 않는 키 비교

분류에서Dev

Swift 문자열에서 대소 문자 구분 문자 교체

분류에서Dev

구분 된 공용체를 대소 문자 식별자로 비교하는 F #

분류에서Dev

텍스트 상자 비교에서 대소 문자를 구분하지 않기

분류에서Dev

어휘 비교 std :: filesystem :: path 대소 문자를 구분하지 않습니까?

분류에서Dev

대소 문자를 구분하지 않는 목록 비교 이해

분류에서Dev

두 목록의 대소 문자를 구분하지 않는 비교

분류에서Dev

사용자 입력 문자열의 대소 문자를 구분하지 않는 비교

분류에서Dev

tagName 요소를 비교할 때 대소 문자 구분 문제를 피할 수 있습니까?

분류에서Dev

이 대소 문자를 구분하지 않고 두 문자열을 비교하는 방법이 있나요?

분류에서Dev

Active Directory GUID 문자열은 대소 문자를 구분하지 않고 비교할 수 있습니까?

분류에서Dev

Entity Framework Core Cosmos Db-대소 문자를 구분하지 않고 문자열을 비교하는 방법?

분류에서Dev

두 문자열의 대 / 소문자를 구분하지 않고 비교하는 방법은 무엇입니까?

분류에서Dev

대소 문자를 구분하여 문자열을 비교하는 방법은 무엇입니까?

분류에서Dev

대소 문자를 구분하지 않는 문자열을 비교 한 다음 중복 계산

분류에서Dev

order by SQL 사양의 대소 문자 구분-Oracle 대 MySQL

분류에서Dev

mongodb ID를 대소 문자를 구분하지 않고 비교하면 충돌 문제가 발생합니까?

분류에서Dev

문자열 구문 분석 및 비교

분류에서Dev

SQL의 IN 절에서 대소 문자 구분 일치

분류에서Dev

Postgres 대소 문자 구분

Related 관련 기사

  1. 1

    SQL에서 대소 문자 구분 문자열 비교 (MariaDB, MySQL)

  2. 2

    EF Core postgresql 문자열 비교 (대소 문자 구분 안 함)

  3. 3

    스키마 비교 및 SqlPackage 150 대소 문자 구분 문제

  4. 4

    Aqua Data studio, 비교 결과, 열 이름 대소 문자 구분

  5. 5

    SQL-대소 문자 구분

  6. 6

    Fortran에서 대소 문자를 구분하지 않는 문자열 비교

  7. 7

    대소 문자를 구분하지 않는 두 문자열 비교

  8. 8

    C # 대소 문자를 구분하지 않는 문자열 비교

  9. 9

    C # 문자열 비교 대소 문자 구분 무시 HTML 태그

  10. 10

    KeyValuePair에 대한 대소 문자를 구분하지 않는 키 비교

  11. 11

    Swift 문자열에서 대소 문자 구분 문자 교체

  12. 12

    구분 된 공용체를 대소 문자 식별자로 비교하는 F #

  13. 13

    텍스트 상자 비교에서 대소 문자를 구분하지 않기

  14. 14

    어휘 비교 std :: filesystem :: path 대소 문자를 구분하지 않습니까?

  15. 15

    대소 문자를 구분하지 않는 목록 비교 이해

  16. 16

    두 목록의 대소 문자를 구분하지 않는 비교

  17. 17

    사용자 입력 문자열의 대소 문자를 구분하지 않는 비교

  18. 18

    tagName 요소를 비교할 때 대소 문자 구분 문제를 피할 수 있습니까?

  19. 19

    이 대소 문자를 구분하지 않고 두 문자열을 비교하는 방법이 있나요?

  20. 20

    Active Directory GUID 문자열은 대소 문자를 구분하지 않고 비교할 수 있습니까?

  21. 21

    Entity Framework Core Cosmos Db-대소 문자를 구분하지 않고 문자열을 비교하는 방법?

  22. 22

    두 문자열의 대 / 소문자를 구분하지 않고 비교하는 방법은 무엇입니까?

  23. 23

    대소 문자를 구분하여 문자열을 비교하는 방법은 무엇입니까?

  24. 24

    대소 문자를 구분하지 않는 문자열을 비교 한 다음 중복 계산

  25. 25

    order by SQL 사양의 대소 문자 구분-Oracle 대 MySQL

  26. 26

    mongodb ID를 대소 문자를 구분하지 않고 비교하면 충돌 문제가 발생합니까?

  27. 27

    문자열 구문 분석 및 비교

  28. 28

    SQL의 IN 절에서 대소 문자 구분 일치

  29. 29

    Postgres 대소 문자 구분

뜨겁다태그

보관