복붙노트

[SQL] 내가 사용해야! = 또는 <> T-SQL에서 동일하지 하시나요?

SQL

내가 사용해야! = 또는 <> T-SQL에서 동일하지 하시나요?

나는 모두를 사용! = 및 <> 같지 않음에 대한 SQL을 보았다. 선호하는 구문과 이유는 무엇입니까?

나는 = 때문에 <> Visual Basic의 생각 나게! 좋아합니다.

해결법

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

    1.당신은 SQL 서버 AKA T-SQL을 사용하는 경우 기술적으로 그들은 같은 기능을 수행합니다. 당신이 저장 프로 시저를 사용하는 경우 다른 한 사용하는 성능에 이유가 없다. 그런 다음 개인 취향에 온다. 나는 그것이 ANSI의 준수로 <>를 사용하는 것을 선호합니다.

    당신은 SQL 서버 AKA T-SQL을 사용하는 경우 기술적으로 그들은 같은 기능을 수행합니다. 당신이 저장 프로 시저를 사용하는 경우 다른 한 사용하는 성능에 이유가 없다. 그런 다음 개인 취향에 온다. 나는 그것이 ANSI의 준수로 <>를 사용하는 것을 선호합니다.

    당신은 다양한 ANSI 표준에 대한 링크를 찾을 수 있습니다 ...

    http://en.wikipedia.org/wiki/SQL

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

    2.대부분의 데이터베이스 지원! = (인기있는 프로그래밍 언어) 및 <> (ANSI).

    대부분의 데이터베이스 지원! = (인기있는 프로그래밍 언어) 및 <> (ANSI).

    모두를 지원하는 데이터베이스 = 및 <>! :

    독점적는 ANSI 표준 연산자를 지원 데이터베이스 :

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

    3."<>"되는 SQL-92 표준에서 '! ='독점 T-SQL 연산자이다. 그것은뿐만 아니라 다른 데이터베이스에서 사용할 수 있지만 표준이 아니기 때문에 당신은 경우에 따라 그것을 가지고해야합니다.

    "<>"되는 SQL-92 표준에서 '! ='독점 T-SQL 연산자이다. 그것은뿐만 아니라 다른 데이터베이스에서 사용할 수 있지만 표준이 아니기 때문에 당신은 경우에 따라 그것을 가지고해야합니다.

    대부분의 경우, 당신은 당신이 정말 문제가되지 않도록에 연결하는 어떤 데이터베이스를 알 수 있습니다. 최악의 당신은 검색을 수행해야 할 수도 있습니다 및 SQL에 교체합니다.

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

    4.표준은 ANSI SQL 정의 <>은 연산자 "NOT 동일"로,

    표준은 ANSI SQL 정의 <>은 연산자 "NOT 동일"로,

    http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt (5.2 <토큰> 및 <세퍼레이터>)

    더 없다! = 연산자 ANSI / SQL 92 표준에 따라.

  5. ==============================

    5.<>는 SQL-92 표준에 따른 유효 SQL이다.

    <>는 SQL-92 표준에 따른 유효 SQL이다.

    http://msdn.microsoft.com/en-us/library/aa276846(SQL.80).aspx

  6. ==============================

    6.그들은 모두 유효하고 SQL 서버에 대한 똑같아

    그들은 모두 유효하고 SQL 서버에 대한 똑같아

    https://docs.microsoft.com/en-us/sql/t-sql/language-elements/not-equal-to-transact-sql-exclamation

  7. ==============================

    7.마이크로 소프트 자체가 <>에 선호하는 것 같다! = 그들의 테이블 제약 입증. 나는 개인적으로 사용하는 것을 선호! = 나는 명확하게 읽을 수 있기 때문에 사용자가 입력 한 경우 "동일하지"로하지만, [필드 1을! = FIELD2]과 constrait, 당신이 그것을 쿼리 다음 번으로 저장, 그것은 [필드 1 <>로 표시됩니다 FIELD2]. 이 할 수있는 올바른 방법은 <>는 나에게 말한다.

    마이크로 소프트 자체가 <>에 선호하는 것 같다! = 그들의 테이블 제약 입증. 나는 개인적으로 사용하는 것을 선호! = 나는 명확하게 읽을 수 있기 때문에 사용자가 입력 한 경우 "동일하지"로하지만, [필드 1을! = FIELD2]과 constrait, 당신이 그것을 쿼리 다음 번으로 저장, 그것은 [필드 1 <>로 표시됩니다 FIELD2]. 이 할 수있는 올바른 방법은 <>는 나에게 말한다.

  8. ==============================

    8.! = 비 ANSI를 임에도 불구하고, 읽을 수있는 언어로 SQL의 진정한 정신 이상이다. 그것은 동일하지 비명 소리. <가>는 (이하보다 큰) 나에게 단지 이상한 인 말한다. 나는 의도가보다 하나 적은 나 때문에 동일하지보다 더 큰 것을 알고,하지만 그건 정말 간단 무언가를 말하는 정말 복잡한 방법입니다.

    ! = 비 ANSI를 임에도 불구하고, 읽을 수있는 언어로 SQL의 진정한 정신 이상이다. 그것은 동일하지 비명 소리. <가>는 (이하보다 큰) 나에게 단지 이상한 인 말한다. 나는 의도가보다 하나 적은 나 때문에 동일하지보다 더 큰 것을 알고,하지만 그건 정말 간단 무언가를 말하는 정말 복잡한 방법입니다.

    난 그냥 좀 긴 SQL 쿼리를 타고 난에 가지 않을 바보 같은 이유의 전체 무리에 대한 XML 파일로 사랑을 배치 했어요.

    충분이 XML 전혀 아래 <>에없는 말을하고 난으로 변경했다! = 내가 riggedy 자신을 파괴하기 전에 자신을 확인합니다.

  9. ==============================

    9.당신이 T-SQL에서 좋아하는 중 당신은 사용할 수 있습니다. 문서는 모두 동일한 방식으로 작동했다. 내가 좋아! =, 내 (C / C ++ / C의 기반 #)의 마음을 "동일하지"읽지 만 데이터베이스 전문가는 <> 선호하는 것 때문이다.

    당신이 T-SQL에서 좋아하는 중 당신은 사용할 수 있습니다. 문서는 모두 동일한 방식으로 작동했다. 내가 좋아! =, 내 (C / C ++ / C의 기반 #)의 마음을 "동일하지"읽지 만 데이터베이스 전문가는 <> 선호하는 것 때문이다.

  10. ==============================

    10.나는 C 구문! = 인해 유닉스 유산으로 SQL 서버에 있는지 이해 (사이베이스 SQL 서버 일 다시, 마이크로 소프트 SQL 서버 6.5를 사전).

    나는 C 구문! = 인해 유닉스 유산으로 SQL 서버에 있는지 이해 (사이베이스 SQL 서버 일 다시, 마이크로 소프트 SQL 서버 6.5를 사전).

  11. ==============================

    11.하나 개의 대안은 <보다 다른 NULLIF 연산자를 사용하는> 또는 것입니다! = 두 인수가 마이크로 소프트 문서에서 동일 NULLIF 경우 NULL을 반환합니다. 내가 절을 <대한 수정> 될 수 WHERE 생각 그래서 =으로 다음! :

    하나 개의 대안은 <보다 다른 NULLIF 연산자를 사용하는> 또는 것입니다! = 두 인수가 마이크로 소프트 문서에서 동일 NULLIF 경우 NULL을 반환합니다. 내가 절을 <대한 수정> 될 수 WHERE 생각 그래서 =으로 다음! :

    NULLIF(arg1, arg2) IS NOT NULL
    

    내가 사용하는 것을 발견으로 <> 및! = 어떤 경우에는 날짜하지 작업을 수행합니다. 따라서, 상기 식을 사용하면 필요한을한다.

  12. ==============================

    12.나는 선택했습니다! = 대신 <> 때때로 나는 구문은 SQL 명령을 작성하는 데 사용할 때문이다. 사용! =이 경우 구문 오류를 방지하는 것이 더 편리합니다.

    나는 선택했습니다! = 대신 <> 때때로 나는 구문은 SQL 명령을 작성하는 데 사용할 때문이다. 사용! =이 경우 구문 오류를 방지하는 것이 더 편리합니다.

  13. ==============================

    13.그들은 모두 T-SQL에서 사용할 수 있습니다. 그러나, <사용>을 많이보다 더 빨리 작동하는 것 같다! =. 난 그냥 =! 사용 된 복잡한 쿼리를 실행하고, 실행하는 데 평균 16초 걸렸다. 나는 그 변경에 <> 쿼리 지금 실행 평균 사초 정도 걸립니다. 즉 엄청난 개선이다!

    그들은 모두 T-SQL에서 사용할 수 있습니다. 그러나, <사용>을 많이보다 더 빨리 작동하는 것 같다! =. 난 그냥 =! 사용 된 복잡한 쿼리를 실행하고, 실행하는 데 평균 16초 걸렸다. 나는 그 변경에 <> 쿼리 지금 실행 평균 사초 정도 걸립니다. 즉 엄청난 개선이다!

  14. ==============================

    14.이들이 동일한 방식으로 작동하지만,! = 수단은 정확하게 "NOT 동일한"동안 <> 저장된 값보다보다 적은 방법.

    이들이 동일한 방식으로 작동하지만,! = 수단은 정확하게 "NOT 동일한"동안 <> 저장된 값보다보다 적은 방법.

    고려> = 또는 <=, 및 인덱스의 인수는 쿼리 ... <할 때이 이해가됩니다> 빠른 경우에 (오른쪽 인덱스) 실행되지만 다른 경우 (인덱스 무료) 그들은 단지 실행됩니다 똑같다.

    이것은 또한 <> 데이터베이스 시스템은 값을! 읽는 방법에 따라 달라 =합니다. 데이터베이스 공급자는 너무 way.PostgreSQL 및 SQL 서버 중 하나가이 바로 가기하지 않는 이점이 아니라, 바로 가기하고이 같은 기능을 할 수있다; 위의 텍스트로 읽된다.

  15. from https://stackoverflow.com/questions/723195/should-i-use-or-for-not-equal-in-t-sql by cc-by-sa and MIT license