Dev Hyeri

기술스택/SQL

MySQL 함수

_hyeri 2023. 10. 11. 20:00

 

문자 함수


   
길이  LENGTH(문자열)
대문자로 변환 UPPER(문자열)
첫 글자만 대문자  INITCAP(문자열)
소문자로 변환 LOWER(문자열)
이어 붙이기 CONCAT(문자열, 문자열, 문자열, · · · 
구분자를 넣어 이어붙기 CONCAT_WS( 구분자, 문자열, 문자열, · · · )
뽑아내기 SUBSTRING(문자열, 시작점, 범위
왼쪽부터 뽑아내기 LEFT(문자열, 왼쪽부터 시작한 범위)
오른쪽부터 뽑아내기 RIGHT(문자열, 오른쪽부터 시작한 범위)

 

 

 

 

날짜 함수


   
현재 날짜, 시간 NOW() 
현재 날짜 CURDATE(), SYSDATE()
현재 시간 CURTIME()
날짜에 더함 DATE_ADD(날짜값, INTERVAL 3 DAY),
날짜에 뺌 DATE_SUB(날짜값, INTERVAL 3 DAY)
두 날짜의 차이를 뺌 DATEDIFF( date2, date1 )
두 날짜의 차이 TIMESTAMPDIFF(DAY, date1, date2)
년 추출 (월 추출, 일 추출) EXTRACT(YEAR FROM 테이블명), MONTH, DAY
날짜 포맷 DATE_FORMAT(날짜, 포맷형식)

 

 

SELECT DATE_FORMAT("2021-10-24", "%Y-%M-%D");

 

%Y : 2021

%y : 21

%M : October

%m : 10

%D : 24th

%d : 24

 

숫자 함수


   
테이블 전체 행의 수를 셈
(NULL 값 여부와 상관없음) 
COUNT(*)
해당 열의 값이 NULL이 아닌 행의 수를 셈 COUNT(컬럼명)
절대값 ABS(숫자)
ceiling천장, 소수점 무조건 올려버리기 CEIL(숫자)
floor바닥, 소수점 무조건 버리기 FLOOR(숫자)
특정 자릿수에서 버림 TRUNCATE(숫자, 위치)
* TRUNC는 오라클
유지점 위치 뒤로 반올림 ROUND(숫자, 여기까지 유지점 뒤로 반올림)
거듭제곱 POWER(숫자, 제곱근)
제곱근(루트) SQRT(숫자)

* square root

 

널 처리  방법 


 

  1. COALESCE(컬럼, '치환') 
    • *덩어리로 합치다
  2. IFNULL(컬럼, '치환)
  3. CASE 표현식

 

*오라클 :  NVL(컬럼, '치환')

 

 

 

 

윈도우 함수 Windon Function


특정 윈도우(또는 범위)에 대해 연산을 수행하고 결과를 반환하는 함수

특히 정렬된 데이터에 대한 집계나 분석 작업을 수행할 때 유용

  • ROW_NUMBER(),  RANK(),  DENSE_RANK(), SUM(),  AVG(),  MIN(),  MAX() 
    • OVER 절: 윈도우 함수는 OVER 절과 함께 사용되며, 이를 통해 윈도우의 범위를 지정하고 정렬 기준을 제공---OVER 절은 PARTITION BY와 ORDER BY 절로 구성
      • PARTITION BY 절 : 전체 데이터를 특정 기준에 따라 여러 그룹으로 나누는 역할. 각 그룹은 독립적으로 처리되며, 윈도우 함수는 각 그룹에 대해 별도로 계산
      • ORDER BY 절:

'기술스택 > SQL' 카테고리의 다른 글

MySQL VIEW / CTE WITH / CASE WHEN THEN  (0) 2023.10.11
MySQL 연산자 우선순위, IN vs EXISTS  (0) 2023.10.11
MySQL INDEX 정리  (0) 2023.10.08
MySQL 기본 완전 정리  (0) 2023.10.05
SQL, JDBC, DBMS, DB란?  (0) 2023.09.04