DBMS/MariaDB

MariaDB 연산자

코드깎는머슴 2024. 2. 23. 22:29
728x90
반응형

연산자



사칙 연산자


    - +             : a + b 꼴에서 a와 b의 합
    - -             : a - b 꼴에서 a에서 b를 뺀 값
    - *             : a * b 꼴에서 a와 b의 곱
    - /             : a / b 꼴에서 a를 b로 나눈 몫
    - % 혹은 MOD    : a % b 혹은 a MOD b 꼴에서 a를 b로 나눈 나머지

비교 연산자


    - =         : a = b 꼴에서 a와 b가 같은가의 여부. 
                    대소문자 구분 X, 'HELLO' = 'hello' >> 1(true)가 나옴
                    대소문자를 구분하기 위해 피연산자 둘 중 한 개 이상에 BINARY 키워드를 적용하여 BINARY a = b 꼴로 비교해야 한다

                    BINARY      : 아스키 코드로 변환해서 비교함

    - != 혹은 <> : a != b 혹은 a <> b 꼴에서 a와 b가 다른가의 여부.
    - >         : a > b 꼴에서 a가 b보다 큰가의 여부
    - <         : a < b 꼴에서 a가 b보다 작은가가의 여부
    - >=        : a >= b 꼴에서 a가 b보다 크거나 같은가의 여부
    - <=        : a <= b 꼴에서 a가 b보다 작거나 같은가의 여부

논리 연산자


    - && 혹은 AND   : a && b 혹은 a AND b 꼴에서 논리 a와 b 모두 참인가에 대한 여부
    - || 혹은 OR    : a || b 혹은 a OR b 꼴에서 논리 a와 b 중 한 개 이상이 참인가에 대한 여부

기타 연산자


    - IN        : a IN (b, ...) 꼴에서 a가 후행하는 값 b의 나열에 포함되는가의 여부
    - NOT IN    : a NOT IN (b, ...) 꼴에서 a가 후행하는 값 b의 나열에 포함되지 않는가의 여부

        SELECT 5 IN (1, 3, 5, 7, 9);        > 1(true)

    - BETWEEN AND       : a BETWEEN b AND C 꼴에서 a가 b 이상이고 c 이하인가의 여부.
                            a >= b AND a <= c 와 같다

    - NOT BETWEEN AND   : a NOT BETWEEN b AND C 꼴에서 a가 b 미만이거나 c 초과인가의 여부.
                            a < b || a > c 와 같다

    - IS NULL           : a IS NULL 꼴에서 a가 NULL인가의 여부
                            어떤 값이 null인지 검사하기 위해 비교 연산(=, != 혹은 <>)하지 않는다. 얘네로는 확인이 안됨

    - IS NOT NULL       : a IS NOT NULL 꼴에서 a가 NULL이 아닌가의 여부
                            어떤 값이 null이 아닌지 검사하기 위해 비교 연산(=, != 혹은 <>)하지 않는다. 얘네로는 확인이 안됨

    - LIKE  : a LIKE b 꼴에서 a가 b 패턴에 부합하는가의 여부
                패턴은 문자열로 작성
                패턴에서 %는 0개 이상의 아무 문자
                패턴에서 _는 1개의 아무 문자
            
                SELECT 'abcdef' LIKE 'a%f';         >> 1, a로 시작해서 f로 끝나는 문자 중 a랑 f사이에 있는 문자가 0개 이상
                SELECT 'abcdef' LIKE 'abcdef%';     >> 1,  abcdef로 시작해서 그 뒤에 0개 이상의 아무 문자
                SELECT 'abcdef' LIKE '%';           >> 1,  0개 이상의 아무 문자
                SELECT 'abcdef' LIKE 'a_f';         >> 0, a로 시작해 f로 끝나면서 a와 f사이에 1개의 문자

    - NOT LIKE  : a LIKE b 꼴에서 a가 b 패턴에 부합하지 않는가의 여부

    - REGEXP        : a REGEXP b 꼴에서 a가 정규표현식 b를 만족하는가의 여부
    - NOT REGEXP    : a NOT REGEXP b 꼴에서 a가 정규표현식 b를 만족하지 않는가의 여부

        \b: 문자와 공백 사이를 의미한다.
        \c: 제어 문자를 의미한다.
        \d: 숫자에 해당하는 유니코드에 대응. [0-9]와 달리 아랍 문자, 페르시아 문자 등 다양한 숫자를 포괄한다.#
        \f: 폼 피드
        \n: 개행 문자
        \s: 공백 문자
        \t: 탭 문자
        \v: 수직 탭
        \w: 단어 영문자+숫자+_(밑줄) [0-9a-zA-Z_]
        \x: 16진수 값
        \0: 8진수 값

728x90
반응형