본문 바로가기

use-the-index-luke

2.6 NULL in the Oracle Database

use-the-index-luke 저자 Markus Winand

---------------------------------------------

Markus Winand는 SQL에 대한 통찰력을 제공하고 다양한 시스템이 SQL을 지원하는 방법을 modern-sql.com 에서 보여줍니다. 이전에 그는 use-the-index-luke.com 을 만들었는데, 지금도 활발하게 유지되고 있습니다. Markus는 winand.at 를 통해 강사, 연사 및 컨설턴트로 고용될 수 있습니다.

---------------------------------------------

You can upload a Korean translation of use-the-index-luke.com on your blog

Thank you from the bottom of my heart to author Makus Winand for allowing me.

 

These are translations that I use for studying by using a papago (google translate)

The translations may not be correct or there may be a typo.

I'd appreciate it if you could point it out in the comments.

---------------------------------------------

---------------------------------------------

use-the-index-luke.com 의 한글번역본을 블로그에 업로드 해도 된다고

허락해주신 Makus Winand 저자님께 진심으로 감사합니다.

 

이 번역본들은 제가 공부용도로 번역기(papago, google transrate)를 돌려서 

번역한 내용들이라 맞지 않거나, 오타가 있을수 있습니다.

댓글로 지적해주시면 감사하겠습니다.

---------------------------------------------

 

https://use-the-index-luke.com/sql/where-clause/null

오라클 데이터베이스에서의 NULL

 

SQL NULL 자주 혼동을 일으킵니다. 누락된 데이터를 나타내는 NULL 기본 개념는 다소 단순하지만 몇가지 특징이 있습니다. 예를 들어 = null 대신 IS NULL 사용해야합니다. 또한 Oracle Database에는 표준에서 요구하는 NULL 항상 처리하지 않기 때문에 NULL 대해 특이한 점을 추가로 가지고 있으며 인덱스에서 NULL 매우 "특수"하게 처리하기 때문입니다.

 

SQL 표준은 NULL 값으로 정의하는 것이 아니라 누락되거나 없는 값에 대한 자리표시자로 정의합니다.

따라서 값이 NULL 없습니다.

대신 Oracle 문자열을 :Null 처리합니다.

----------------------------------------------------------

 SELECT     '0 IS NULL???' AS "what is NULL?" FROM dual
    WHERE      0 IS NULL
UNION ALL
   SELECT    '0 is not null' FROM dual
    WHERE     0 IS NOT NULL
UNION ALL
   SELECT ''''' IS NULL???'  FROM dual
    WHERE    '' IS NULL

UNION ALL
   SELECT ''''' is not null' FROM dual
    WHERE    '' IS NOT NULL

----------------------------------------------------------

또한 Oracle 데이터베이스에서 NULL 문자열로 처리하는 경우도 있습니다.

----------------------------------------------------------

SELECT dummy
     , dummy || ''
     , dummy || NULL
  FROM dual

----------------------------------------------------------

DUMMY (항상 'X' 포함) NULL 연결하면 NULL 반환됩니다.

 

NULL 개념은 많은 프로그래밍 언어에서 사용됩니다.

Oracle 데이터베이스를 제외하고 문자열은 어디를 찾더라도 NULL 아닙니다. 실제로 VARCHAR2 필드에 문자열을 저장하는 것은 불가능합니다. 시도하면 Oracle 데이터베이스는 NULL 저장합니다.

 

특이성은 이상할 뿐만 아니라 위험하기도 합니다.

또한 Oracle 데이터베이스의 NULL 특이한 점은 여기서 그치지 않고 인덱싱을 계속합니다.

'use-the-index-luke' 카테고리의 다른 글

2.6-2 NOT NULL Constraints  (0) 2023.08.08
2.6-1 NULL in Indexes  (0) 2023.08.04
2.5 Partial Index  (0) 2023.07.25
2.4-3 Index Combine  (0) 2023.07.19
2.4-2 Indexing SQL LIKE Filters  (0) 2023.07.14