본문 바로가기
반응형

null8

'is null' VS '= null' sql 쿼리 중에 가끔 실수를 하는 부분이 있어서 정리한다. where 절에 컬럼과 null을 비교 하려면 column = null 이 아닌 column is null 로 써줘야 한다. 이유는 null 의 특성에 있다. null은 비교할수가 없고 null에 대해 의미를 잘 이해하면 알것이다. null에 대해 자세한내용은 아래 참고 포스팅 참고 바란다. 참고 포스팅 https://thenicesj.tistory.com/253 null 관련 (Null, isEmpty(), null관련 annotation) 먼저 자바에서 null과 isEmpty 의 차이를 알아보면 null 인스턴스가 생성되지 않은 상태, list변수가 메모리에 아무런 주소값도 참조하지 않은 상태이다. list에 값이 없을 경우 null로 체.. 2024. 3. 5.
null관련 함수(NVL, ISNULL, NULLIF, COALESCE ) 데이터베이스에서 null 값에 대해 처리할수 있도록 사용되는 함수들을 살펴볼 것이다. Oracle에서 사용되는 nvl 에 대해서는 아래 참고 포스팅을 참고 바란다. 그리고 isnull 함수 역시 nvl 과 같은 기능이고 mssql 에서 사용이 된다. 사용법은 nvl과 동일하다. NVL(표현식1, 표현식2) / ISNULL(표현식1, 표현식2) -> 표현식 1의 결과가 null이면 표현식 2를 출력 NULLIF(표현식1,표현식2) -> 표현식1이 표현식2와 같으면 NULL을 같지 않으면 표현식 1 리턴 특정값을 null로 치환할때 주로 사용한다. COALESCE(표현식 ...여러개) -> 첫번쨰 인자값이 NULL이면 두번째 인자값 리턴, 두번째가 NULL이면 세번쨰 값 리턴.... 모든 인자가 NULL이면.. 2023. 9. 26.
/dev/null 2>&1 의미 터미널을 사용할 경우 주로 사용을 하게 되는데 /dev/null 2>&1 에 대해서 다뤄볼 것이다. $ rm file > /dev/null 리다이렉트로 되어있는 이 명령어는 표준 출력을 /dev/null로 리다이렉션 하라는 뜻이다. 결국 표준 출력을 버리라는 뜻이다. 만약 여기서 file이라는 파일이 존재하지 않다면 표준 에러가 출력이 된다. $ rm file > /dev/null rm: cannot remove 'file' : No such file or directory 이건 표준 에러이기때문에 화면에 표시가 되었다. 만약 표준 출력이었다면 버려졌을텐데 표준 에러였기에 표현이 되었다. 만약 표준 에러를 버리고 싶다면 $ rm file > /dev/null 2>&1 을 사용한다. 여기서 2>&1 은 표.. 2023. 9. 20.
자바에서 Null 체크 관련(if) 이전 포스팅에서 null에관한 내용을 다룬 글을이 몇개 있다. 자세한 사항은 아래 참고 포스팅 참고 바란다. 하지만 이번 글에서는 적용을 안하면 틀린건 아니지만 좀더 깔끔하고 효율적인 코드가 될수 있도록 null 체크를 해보려고 한다. 특별한건 없고 바로 코드로 설명하도록 하겠다. if ( list.size()>0 && list != null) { if ( list.size()>0 || list != null) { if ( "".equals(text) && text != null) { if ( "".equals(text) || text != null) { 이전 코드에서 복사해온 코드였는지.. 언제 짰는지도 기억이 안나는데 위와 같은 코드가 있었었다. ( 기억에서 작성한 코드라서 그냥 의미만 보시면 될듯 .. 2023. 6. 9.
flutter app bundle 이전과는 다르게 이제 google playstore 에 앱을 올리려면 apk파일에서 appbundle 파일로 정책이 바뀌었다. 그래서 apk 파일은 build를 하면 되고 appbundle역시 build에서 하면 된다. 하지만 저번 포스팅에서 다룬적이 있는데(참고 포스팅 참조) flutter 2.0 부터는 null 제약조건이 들어가서 appbundle 을 만드는것이 쉽지 않다. Error: Cannot run with sound null safety, because the following dependencies don't support null safety: - package:webview_flutter For solutions, see https://dart.dev/go/unsound-null-saf.. 2022. 10. 30.
Optional 이란? 지난 포스팅에서 dto 변수의 null 에 대한 포스팅을 다뤄본적이 있다. 관련 내용은 아래 참고 포스팅에 존재한다. 하지만 변수가 null이 아니라 dto 자체가 예를들어 쿼리의 결과가 없어서 dto 자체가 null이 될 경우가 있다. 물론 이럴경우는 전처리에서 if (dto ==null){ 으로 하면서 return 을 시켜주거나 혹은 초기값 설정등으로 처리할수 있지만 null을 미리 체크를 해볼수가 있다. 그때 사용하는것이 Optional이다. Rest를 사용할 경우에를 예로 들어보면 repository 에서 받을때 ExampleDto findById(String id); 이렇게 findById 에 대한 변수 결과를 받는것이 아니라. Optional findById(String id); 이런 식으로 .. 2022. 8. 23.
null 관련 (Null, isEmpty(), null관련 annotation) 먼저 자바에서 null과 isEmpty 의 차이를 알아보면 null 인스턴스가 생성되지 않은 상태, list변수가 메모리에 아무런 주소값도 참조하지 않은 상태이다. list에 값이 없을 경우 null로 체크를 하면 안된다. isEmpty() size()=0 자바 SE1.6이상에서부터 사용가능하다. 리스트는 생성이 되었으나 값이 없는 빈 상태를 뜻한다. 그럼 리스트에서 말고 변수로써 null은 값이 있거나 null이거나 둘중 하나이다. 하지만 코딩을 하다보면 항상 필수 required 되어야하는 값들이 존재하는데 유효성 검사를 하는 방법은 많지만 annotation을 소개해보려고 한다. @NotNull null만 허용 안함 "" 이나 " " 는 허용 @NotEmpty null과 "" 둘다 허용 안함 " ".. 2022. 7. 1.
switch 문 null 값 체크 코딩을 하다보면 if문으로 대부분 조건을 걸어왔는데, 오랜만에 switch문을 쓰다보니 헷갈린 부분이 있었다. 바로 null값에 대한 내용이다. switch 문은 기본 문법은 다음과 같다. Integer value=null; switch (value){ case 1 : System.out.println("1입니다"); break; case 2: System.out.println("2입니다"); break; case 3 : System.out.println("3입니다"); break; case null : System.out.println("null입니다"); break; default : break; 이런식으로 작성을 하는데 값이 null일 경우 맨 아래 case가 돌아가지 않고 에러가 난다. null을.. 2022. 1. 4.
반응형