반응형
Oracle SQL 구문 - 여러 열에서 ISNOT NULL을 확인합니다.
여러 열이 null이 아닌지 확인할 수 있는 더 간결한 구문이 있습니까?단순화를 모색하고 있습니다.
weight IS NOT NULL AND
weight_unit IS NOT NULL AND
length IS NOT NULL AND
width IS NOT NULL AND
height IS NOT NULL AND
dimensional_unit IS NOT NULL
더 짧은 것으로.
관련이 있는 경우 Oracle을 사용합니다.
NOT (A 또는 B) = (A 아님) 및 (B 아님)
당신은 20자를 절약합니다 ;)
NOT (
weight IS NULL OR
weight_unit IS NULL OR
length IS NULL OR
width IS NULL OR
height IS NULL OR
dimensional_unit IS NULL
)
제가 알기로는 그런 구문은 없습니다.
그러나 모든 숫자가 숫자인 경우 다음과 같은 방법을 사용할 수 있습니다.
weight + weight_unit + length + width + height + dimensional_unit is not null
ALTER TABLE X
ADD CONSTRAINT C_X_NN
CHECK ( (
DECODE (weight, NULL, 0, 1) +
DECODE (weight_unit, NULL, 0, 1) +
DECODE (length , NULL, 0, 1) +
DECODE (width , NULL, 0, 1) +
DECODE (height , NULL, 0, 1) +
DECODE (dimensional_unit , NULL, 0, 1)
) = 0
);
모든 열이 NULL이 아닌지 확인하려면 먼저 열을 연결한 다음 ISNULL이 아닌지 한 번 테스트할 수 있습니다. 예:
weight || weight_unit || length || width || height || dimensional_unit IS NOT NULL
이렇게 하면 해당 필드의 모든 값이 총 NULL이 아닌지 확인합니다.
만약 그들 중에 NULL이 있을 수 있는지 여부를 테스트하는 것뿐이라면, 저는 질문에서 나온 당신의 원래 진술이 여전히 그것을 하는 가장 좋은 방법이라고 생각합니다.
저는 이 문제를 해결하려고 노력했습니다. 만약 모든 열/변수가 숫자 또는 varchar2 유형이라면 sql, pl/sql에서 다음 방법을 사용할 수 있습니다.
LENGTH(COL1||COL2||COL3) IS NOT NULL
이것이 당신에게 도움이 되기를 바랍니다.
이 ......결합(필드1,필드2,......필드n)이 null이 아닙니다.
저는 이것이 목적에 부합할 것이라고 생각합니다!!!!
언급URL : https://stackoverflow.com/questions/8596004/oracle-sql-syntax-check-multiple-columns-for-is-not-null
반응형
'source' 카테고리의 다른 글
ORA-12704: null NVARCHAR의 다중 행 INSERT를 수행할 때 문자 집합이 일치하지 않습니다. (0) | 2023.07.23 |
---|---|
쉬운 zlib 튜토리얼에는 어떤 것들이 있나요? (0) | 2023.07.23 |
소셜 로그인 구현을 위한 데이터베이스 구조? (0) | 2023.07.23 |
딕트를 OrderedDict로 변환하는 중 (0) | 2023.07.18 |
Tkinter 텍스트 위젯에서 입력을 가져오는 방법은 무엇입니까? (0) | 2023.07.18 |