본문 바로가기
개발자 일지/기타

[TIL]vue의 $refs, Oracle SQL의 NULL관련 주의사항

by 네빌링 2021. 11. 3.
반응형

- 업무 프로젝트를 진행하며 숙지할 필요가 있는 부분을 간단하게 작성한다.


 

1. Vue의 $refs는 컴포넌트 렌더링 이후에 접근 가능하다. created나 beforeCreated에서 사용하면 undefined가 뜬다.

 

2.현재 AS-IS 소스를 리뉴얼 하고 있다. (AS-IS는 iBatis로 되어 있다.)기존 Mapper 소스에 이런 WHERE 조건이 있었다. 아래의 테이블명, 컬럼명은 작성을 위해 대충 지어냈다.

SELECT A,B
FROM TEST
WHERE NVL(A,' ') IN ($queryStr$, ' ')

여기서 WHERE 조건을 보면 저런식으로 NVL과 ' '처리가 되어 있다. ($queryStr$은 클라이언트 단에서 넘어온 값)

NVL로 왜 저렇게 처리했는지 갸우뚱 했다. 저 부분을 일단 지우고, 리뉴얼한 곳에서 테스트하면서 기존 소스와 테스트 결과를 비교해봤다. 결과가 조금씩 다르게 나왔다. 쿼리를 긁어서 조건들을 살펴봤는데 이상한 곳을 찾지 못했다. 혹시나 해서 저 조건을 넣어봤는데 잘 나온다...

뭔가 예전에 삽질했던 기억이 스치면서 IN 절에서 NULL을 인식 못한다는 것을 깨달았다. IN절의 NULL은 A = NULL로 인식된다. 참고로 A IS NULL이라 해야 NULL값이 정상적으로 출력되지 A = NULL로 하면 정상적으로 출력되지 않는다. 예전 개발자가 저렇게 한 이유는 A컬럼이 NULL이면 공백(' ')으로 바꾸고, IN절에 임의의 공백(' ')을 넣어서 NULL값도 출력되게 한 것이다.

좋은 방법같지는 않아서 일단 체크만 해두었다.

 

역시 기록을 안 하면 까먹는다. 예전에 한 번 경험했던 것인데 또 시간을 잡아먹었다. 

 

출처 : https://pygmalion0220.tistory.com/entry/Vue-Dom%EC%A0%91%EA%B7%BC-%ED%95%98%EA%B8%B0-ref-refs

반응형