programing

Oracle sql null 값이 선택되지 않았습니다.

testmans 2023. 10. 2. 11:16
반응형

Oracle sql null 값이 선택되지 않았습니다.

NAME 테이블에서 FIRST 열은 null이지만 행이 선택되지 않았습니다.제가 이해할 수 있도록 도와주세요.

SELECT * FROM NAME WHERE FIRST != '1'

과의 비교.null거짓입니다.=그리고.<>,>,<, 등등.사용할수없습니다null일순간에INlist 또한 - 무시됩니다.거기다가 둘nulls는 서로 동등하지도 않습니다.

null을 가져오려면 다음과 같이 null을 명시적으로 요청해야 합니다.

SELECT * FROM NAME WHERE FIRST IS NULL OR FIRST != '1'

NULL과 비교하면 FALSE에 해당하는 NULL이 반환됩니다.이것은 동등하지 않은 전야입니다.

NULL 값을 포함하려면 다음 중 하나를 수행합니다.

where first <> '1' or first is null

아니면

where coalesce(first, '<null>') <> '1'

Oracle에서 null은 명시적으로 요청하지 않는 한 선택할 수 있는 법적 값으로 간주되지 않습니다.

select * from name where (first != '1') or first is null

NVL(Coalese와 유사)을 사용할 수도 있습니다.

select * from name where nvl(first,'0') != '1'

NULL은 다른 것과 절대 비교할 수 없기 때문에 그렇습니다.

명령어에 NULL 검사를 포함하는 것이 유일한 옵션입니다.

SELECT * FROM NAME WHERE FIRST!=1 OR FIRST IS NULL

Oracle Documentation NULL은 알 수 없는 값 또는 값이 의미가 없는 경우로 정의됩니다.이것이 Oracle이 ZERO 값을 NULL로 간주하지 않는 이유입니다.이건 그냥 참고로 아돈입니다.감사합니다!

NULL은 바보입니다.마침표.

NULL은 사악합니다.

X가 NULL이고 Y가 NULL이면 둘 다 NULL이기 때문에 X는 사실상 Y와 같습니다.

내가 말할 수 없는 PITA이기도 합니다.

IF X IN('a',B',C',null)

왜냐하면 이런 상태가 발생하기 때문입니다.하지만 이제는 제가 말해야겠습니다.

IF ( X IN ('a','B','C') or X is NULL ) 

시간 낭비이고 괄호를 잊어버리면 실수할 위험이 있습니다.

저를 더 화나게 하는 것은 애초에 NULL이 일어나서는 안 된다는 것입니다.필드(er...)좋아 얘들아, 난 그들을 컬럼이라고 부를게)는 항상 초기화되어야 합니다.마침표.널들을 멈춰요.그들을 허락하지 마.기본값은 항상 0 또는 공백이어야 소프트웨어의 열을 초기화하는 데 너무 게으른 사용자가 자동으로 초기화됩니다.

기본값인 0과 공백을 정의하지 못하면 삶이 필요 이상으로 어려워지는 경우가 많습니다.

언급URL : https://stackoverflow.com/questions/14994100/oracle-sql-null-value-is-not-selected

반응형