DBMS

[DBMS] 10.연산자와 함수

katia 2023. 3. 23. 15:28

연산자

산술 연산자

  • + : x + y꼴에서 xy의 합이다.
  • - : x + y꼴에서 x 에서 y를 뺀 값이다.
  • * : x + y꼴에서 xy의 곱이다.
  • / : x + y꼴에서 x 에서 y를 나눈 몫이다.
  • % 혹은 MOD : x % y 혹은 x MOD y 꼴에서 xy로 나눈 나머지이다.

비교 연산자

  • = : x = y꼴에서 xy가 같은가의 여부이다.
  • != 혹은 <> : x != y 혹은 x <> y꼴에서 xy가 다른가의 여부이다.
  • > : x > y꼴에서 xy보다 큰가의 여부이다.
  • < : x < y꼴에서 xy보다 작은가의 여부이다.
  • >= : x >= y꼴에서 xy보다 크거나 같은가의 여부이다.
  • <= : x <= y꼴에서 xy보다 작거나 같은가의 여부이다.

논리 연산자

  • && 혹은 AND : x && y 혹은 x AND y 꼴에서 xy가 모두 참(True)인가의 여부이다.
  • || 혹은 OR : x || y 혹은 x OR y 꼴에서 xy가 하나이상이 참(True)인가의 여부이다.
  • ! 혹은 NOT : !x 혹은 NOT x 꼴에서 x논리값을 부정한다.

기타 연산자

  • IN : x IN (y,....) 꼴에서 x가 후앵하는 피연산자 (y, ...)에 포함되어 있는가의 여부이다.
  • BETWEEN ... AND ... : x BETWEEN f AND t꼴에서 xf이상 t이하인가의 여부이다.
  • IS NULL : x IS NULL 꼴에서 xNULL인가의 여부이다. NULL확인 시 x = NULL 꼴로작성 하지 않음에 유의한다.
  • LIKE : x LIKE y꼴에서 xy의 패턴에 부합하는가의 여부이다.
    • % : 패턴 문자열하에 문자의 종류와 길이가 관계 없음을 의미한다.(검색에서 주로 사용)
    • / : 패턴 문자열하에 문자의 종류가 관계 없음을 의미한다. 길이는 _ 기호의 개수와 같다.
  • REGEXP : x REGEXP y꼴에서 xy정규식에 만족하는가의 여부이다.

함수

수학 함수

  • (중요)ABS(x) : x 의 절댓값을 반환한다.(Absolute)
  • (중요)CEILING(x) : x를 (정수부 까지) 올림한다.
  • (중요)FLOOR(x) : x를 (정수부 까지) 내림한다.
  • GREATEST(x, ....) : 주어진 값(들)인 x중 가장 큰 수를 반환한다.
  • LEAST(x,....) : 주어진 값(들)인 x중 가장 작은 수를 반환한다.
  • MOD(x, y) : xy로 나눈 나머지를 반환한다.(Modulo)
  • PI() : 원주율을 반환한다.
  • (중요)POW(x, y) : xy승을 반환한다.(Power)
  • ROUND(x,f) : x가 가지는 소수점 f자리까지 반올림한 값을 반환한다.(f가 음수일 경우 정수부를 반올림한다.)
  • SQRT(x) : x의 제곱근을 반환한다.(Square Root)
  • a(x , f) : x가 가지는 소수점 f미만의 자리에 대한 소수를 버리고 반환한다.

어려운 수학

  • EXP(x) : 자연상수 e에 대한 x의 거듭제곱을 반환한다.
  • LOG(x) : x에 대한 자연로그값을 반환한다.

삼각함수

  • COS(x) : x에 대한 코사인값이다.
  • SIN(x) : x에 대한 사인값이다.
  • TAN(x) : x에 대한 탄젠트값이다.

진법

  • BIN(x) : x를 이진수로 변환하여 반환한다.(Binary)
  • HEX(x) : x를 16진수로 변환하여 반환한다.(Hexadecimal)
  • OCT(x) : x를 8진수로 변환하여 반환한다.(Octal)

인코딩 및 디코딩

  • FROM-BASE64(x) : 64진법으로 인코딩된 x를 평문으로 디코딩한 문자열을 반환한다.
  • TO_BASE64(x) : x에 대해 64진법 인코딩을 적용할 문자열을 반환한다.

문자열 함수

  • ASCII(x) : 문자 x의 ASCII 코드를 반환한다.
  • CHAR(x) : ASCII 코드 x의 문자를 반환한다.
  • (중요)CHAR_LENGTH(x) : 문자열 x의 길이를 반환한다.
  • (중요)CONCAT(x, ....) : 주어진 값들을 이어 붙인 문자열을 반환한다.
  • CONCAT_WS(x, ...) : 주어진 값들(x)을 d로 구분하여 이어 붙인 문자열을 반환한다.
  • INSTR(s,f) : 문자열 x에서 f를 찾아 위치를 숫자로 반환한다. 문자열 s에서 f를 찾을 수 없다면 0을 반환한다.
  • LENGTH(x) : 문자열 x의 바이트 크기를 반환한다.
  • (중요)REPEAT(x, n) : 문자열 xn번 반복한 문자열을 반환한다.
  • (중요)REPLACE(x,f,r) : 문자열 x에서 f를 찾아 r로 변환한 문자열을 반환한다.
  • REVERSE(x) : 문자열 x가 가지는 내용을 뒤집은 문자열을 반환한다.
  • (중요)SUBSTRIG(x, f, n) : 문자열 x가 가진 문자중 f번째 문자 부터 연속된 n개의 문자열을 반환한다.
    • (중요)LEFT(x, n) : 문자열 x의 왼쪽 문자 n개를 문자열로 반환한다.
    • (중요)RIGHT(x, n) : 문자열 x의 오른쪽 문자 n개를 문자열로 반환한다.
  • TRIM(x) : 문자열 x의 양 끝 연속된 공백을 제거한 문자열을 반환한다.
    • LTRIM(x) : 문자열 x의 왼쪽의 연속된 공백을 제거한 문자열을 반환한다.
    • RTRIM(x) : 문자열 x의 오른쪽의 연속된 공백을 제거한 문자열을 반환한다.

날짜와 시간함수

  • DATE_ADD(t, INTERVAL x i) : 날짜, 시간 혹은 일시 t에대해 i 주기인 x만큼을 더한다.
    • 주기 i
      • YEAR : 년
      • QUARTER : 분기
      • MONTH: 월
      • WEEK : 주
      • DAY : 일
      • HOUR : 시
      • MINUTE : 분
      • SECOND : 초
      • MICROSECOND : 마이크로초(1 밀리초 = 1000 마이크로)
  • DATE_SUB(t, INTERVAL x i) : 날짜, 시간 혹은 일시인 t에 대해 i 주기인 x만큼을 뺀다.
  • (중요)NOW(n) : 현재 일시를 반환한다. n의 기본값을 0, 최댓값은 6이고, n은 반환 받을 소수점의 자리수 이다.
  • YEAR(x) : 날짜 혹은 일시인 x에서 년도를 반환한다.
  • MONTH(x) : 날짜 혹은 일시인 x에서 월을 반환한다.
  • MONTHNAME(x) : 날짜 혹은 일시인 x에서 월을 영어로 반환한다.
  • DAYOFMONTH(x) : 날짜 혹은 일시인 x에서 월 내 몇번째 일인지 반환한다.
  • DAYNAME(x) : 날짜 혹은 일시인 x에서 요일을 영어로 반환한다.
  • DAYOFWEEK(x) : 날짜 혹은 일시인 x에서 일의 순번을 반환한다.(일요일 = 1, 월요일 = 2)
  • WEEKDAY(x) : 날짜 혹은 일시인 x에서 일의 순번을 반환한다.(월요일 = 0)
  • DAYOFYEAR(x) : 날짜 혹은 일시인 x에서 연중일자를 반환한다.
  • WEEK(x) : 날짜 혹은 일시인 x에서 연중 몇 번째 주인지를 반환한다.

논리 함수

  • IF(c, t, f) : 조건 c가 참이면 t를, 거짓이면 f를 반환한다.
  • IFNULL(x, a) : 값 xNULL이면 aNULL 아니면 x를 반환한다.

통계 함수

  • 통계 함수는 별도의 조건을 부여하지 않으면 선택(SELECT) 되는 모든 레코드를 하나로 합쳐 통계를 냄으로 유의한다.
  • (중요)COUNT(x) : 값은 혹은 열인 x에 해당하는 레코드(데이터)의 개수를 반환한다.
  • (중요)AVG(x) : 열인 x에 해당하는 레코드(데이터)의 평균은 반환한다.
  • (중요)SUM(x) : 열인 x에 해당하는 레코드(데이터)의 합계를 반환한다.
  • (중요)MAX(x) : 열인 x에 해당하는 레코드(데이터)의 최댓값을 반환한다.
  • (중요)MIN(x) : 열인 x에 해당하는 레코드(데이터)의 최솟값을 반환한다.

'DBMS' 카테고리의 다른 글

[DBMS] 9. 레코드  (0) 2023.03.23
[DBMS] 8. 테이블 및 열  (0) 2023.03.23
[DBMS] 7. 스키마  (0) 2023.03.23
[DBMS] 6. 사용자 및 권한  (0) 2023.03.23
[DBMS] 5. 개념  (0) 2023.03.23