[ 2024.06.29 ] TIL

yy·2024년 6월 29일

개발일지

목록 보기
77/122
  1. WHERE IS NOT NULL

전화번호가 NULL인 경우는 출력대상에서 제외시키는 조건은 자꾸 IF 가 생각나는데 SQL에서 조건절은 WHERE, HAVING 이쪽이니까 일단 두 절에서 해결할 수 있는지 먼저 생각한다.




  1. NULL값이면 다른 값으로 바꾸기
  • IFNULL(컬럼명, 치환할 값)
# NULL이면 0으로 치환
SELECT IFNULL(컬럼명, 0) FROM TABLE; 

  • IF(조건, TRUE일 경우 치환값,FALSE일 경우 치환값)
# 컬럼명이 NULL이면 1,컬럼명이 NULL이 아니면 2가 치환됨.
SELECT IF(컬럼명 IS NULL, '1', '2') FROM TABLE;

  • NULLIF(비교대상값, 비교대상값)
# 전자 === 후자 ? NULL : 전자 
# 다시 풀어 쓰면, 전자와 후자값을 같다면 NULL값이 출력되고,
# 같지 않다면 전자값인 1이 출력이 된다.
SELECT NULLIF(1,2);




  1. Aggregation함수
SELECT ROUND(AVG(컬럼명)) FROM TABLE

ROUND : 반올림

  • ROUND(컬럼명) : 소수점 1번째 자리에서 반올림 (1.23 -> 1)
  • ROUND(컬럼명, 1) : 출력할 소수점 자리 지정 ( 1.23 -> 1.2)
  • ROUND(컬럼명, -1) : 십단위로 반올림 (1313 -> 1310)

TRUNCATE : 버림

  • TRUCATE(컬럼명, -1) : 반드시 버릴 자릿수 명시해야함


FLOOR : 버림

  • FLOOR(컬럼명) : 소수점 아래 버림


CEILING : 올림

  • CEILING(컬럼명) : 소수점 아래 올림
profile
시간이 걸릴 뿐 내가 못할 건 없다.

0개의 댓글