plsql에서 변수가 null인지 확인합니다.
변수가 null인지 확인하고 싶습니다.null일 경우 해당 변수에 값을 설정합니다.
//data type of var is number
if Var = null then
var :=5;
endif
하지만 오류가 발생하고 있습니다.변수가 늘인지 확인하려면 어떻게 해야 합니까?
Oracle 데이터 유형을 사용하고 있습니다.
if var is NULL then
var :=5;
end if;
용도:
IF Var IS NULL THEN
var := 5;
END IF;
Oracle 9i+:
var = COALESCE(Var, 5)
기타 대안:
var = NVL(var, 5)
레퍼런스:
PL/SQL에서 '=' 또는 '<>'와 같은 연산자를 사용하여 다음을 테스트할 수 없습니다.NULL
와 비교해서NULL
돌아가다NULL
비교하다NULL
특수 연산자를 사용해야 합니다.IS NULL
또는IS NOT NULL
바로 이런 목적을 위해 존재하는 거죠그래서 쓰는 대신
IF var = NULL THEN...
너는 써야 한다
IF VAR IS NULL THEN...
이미 제공하신 경우 다음 옵션을 사용할 수도 있습니다.NVL
내장 기능. NVL
는 두 개의 인수를 사용합니다.첫 번째 인수는 변수이고 두 번째 인수는 값(계산 또는 계산)입니다. NVL
첫 번째 인수를 조사하여 첫 번째 인수가 다음과 같은 것을 알게 됩니다.NULL
는 두 번째 인수를 반환합니다.에 대한 첫 번째 인수가NVL
아니다NULL
첫 번째 인수가 반환됩니다.다시 쓸 수 있게
IF var IS NULL THEN
var := 5;
END IF;
~하듯이
var := NVL(var, 5);
이게 도움이 됐으면 좋겠어요.
편집
그리고 제가 이 답을 쓴 지 10년이 다 되어가니까 조금 더 확대해서 축하합시다.
그COALESCE
함수는 Oracle의 ANSI와 동등합니다.NVL
와는 다르다.NVL
몇 가지 IMO의 좋은 방법:
임의의 수의 인수를 사용하여 NULL이 아닌 첫 번째 인수를 반환합니다.모든 인수가 에 전달된 경우
COALESCE
NULL, NULL을 반환합니다.와는 대조적으로
NVL
,COALESCE
필요한 경우에만 인수를 평가합니다.NVL
는 양쪽 인수를 평가하여 첫 번째 인수가 NULL인지 여부를 판단합니다.그렇게COALESCE
더 효율적일 수 있다, 왜냐하면 그것은 사용되지 않을 것(그리고 잠재적으로 원하지 않는 부작용을 일으킬 수 있다)을 평가하는 데 시간을 소비하지 않기 때문이다, 하지만 그것은 또한 다음을 의미한다.COALESCE
를 100% 쉽게 대체할 수 있는 것은 아닙니다.NVL
.
IS NULL 사용
NVL 기능도 있습니다.
http://www.techonthenet.com/oracle/functions/nvl.php
var가 null인 경우 사용
pl/sql 조건부 구에서는 늘을 주의해 주세요.늘은 어떤 것과도 같거나 작거나 같거나 같지 않기 때문입니다.그것들을 피하는 가장 좋은 방법은 nvl을 사용하는 것입니다.
예를들면
declare
i integer;
begin
if i <> 1 then
i:=1;
foobar();
end if;
end;
/
if 절에는 들어가지 않습니다.
이거면 될 거야.
if 1<>nvl(i,1) then
if i<> 1 or i is null then
다른 방법:
var := coalesce (var, 5);
COALESCE는 Oracle의 NVL 함수와 ANSI 등가(약간)입니다.
언급URL : https://stackoverflow.com/questions/1984141/check-if-a-variable-is-null-in-plsql
'programing' 카테고리의 다른 글
s3에서 가져온 이미지 표시 (0) | 2023.02.21 |
---|---|
wp_nav_menu 변경 서브메뉴 클래스 이름? (0) | 2023.02.21 |
POJO를 트리모델에 직접 연재할 수 있는 방법이 있나요? (0) | 2023.02.21 |
nginx가 있는 워드프레스 색인에서는 403이 금지되어 있으며, 나머지 페이지는 정상적으로 동작합니다. (0) | 2023.02.21 |
Python JSON 덤프 / .txt에 추가 (각 변수 새 줄에 포함) (0) | 2023.02.21 |