ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MySql - 숫자와 문자열을 다루는 함수들
    DataBase/MySql 2023. 9. 8. 13:09
    반응형

    숫자와 문자열을 다루는 함수들

     

    - 반올림, 올림, 내림

    함수 설명
    ROUND 반올림
    CEIL 올림
    FLOOR 내림
    SELECT 
      ROUND(0.5),             =====> 1
      CEIL(0.4),                  =====> 1
      FLOOR(0.6);             =====> 0

     

    - 절대값

    함수 설명
    ABS 절대값
    SELECT
       ABS(1),                      =====> 1
       ABS(-1),                     =====> 1
       ABS(3 - 10);               =====> 7

     

    - 최대값, 최소값

    함수 설명
    GREATEST (괄호 안에서) 가장 큰 값
    LEAST (괄호 안에서) 가장 작은 값
    SELECT
       GREATEST(1, 2, 3),             ======> 3
       LEAST(1, 2, 3, 4, 5);            ======> 1

     

     

    -그룹함수

    함수 설명
    MAX 가장 큰 값
    MIN 가장 작은 값
    COUNT 갯수 (NULL값 제외)
    SUM 총합
    AVG 평균 값
    SELECT
        MAX(Quantity),
        MIN(Quantity),
        COUNT(Quantity),
        SUM(Quantity),
        AVG(Quantity)
    FROM OrderDetails
    WHERE OrderDetailID BETWEEN 20 AND 30;

     

    - 제곱과 제곱근

    함수 설명
    POW (A, B), POWER(A, B)  A를 B만큼 제곱
    SQRT 제곱근
    SELECT
       POW(2, 3),               =====> 8
       POWER(5, 2),          =====> 25
       SQRT(16);                =====> 4

     

    - 소수점 선택

    함수 설명
    TRUNCATE(N, n) N을 소수점 n자리 까지 선택
    SELECT
       TRUNCATE(1234.5678, 1),                =====> 1234.5
       TRUNCATE(1234.5678, 2),                =====> 1234.56
       TRUNCATE(1234.5678, 3),                =====> 1234.567
       TRUNCATE(1234.5678, -1),               =====> 1230
       TRUNCATE(1234.5678, -2),               =====> 1200
       TRUNCATE(1234.5678, -3);               =====> 1000

     

     

    문자열 관련 함수들

     

    - 대문자, 소문자

    함수 설명
    UCASE, UPPER 모두 대문자로
    LCASE, LOWER 모두 소문자로
    SELECT
       UPPER('abcDEF'),         ======> ABCDEF
       LOWER('abcDEF');        ======> abcdef   

     

    - 문자열 이어 붙이기

    함수 설명
    CONCAT(...) 괄호 안의 내용을 붙임
    CONCAT_WS(S, ...) 괄호 안의 내용을 S로 이어붙임
    SELECT CONCAT('HELLO', ' ', 'THIS IS ', 2021) =====> HELLO THIS IS 2021
    SELECT CONCAT_WS('-', 2021, 8, 15, 'AM')    ====> 2021-8-15-AM

     

    - 문자열 자르기

    함수 설명
    SUBSTR, SUBSTRING 주어진 값에 따라 문자열 자름
    LEFT 왼쪽부터 N 글자
    RIGHT 오른쪽부터 N 글자
    SELECT
       SUBSTR('ABCDEFG', 3),
       SUBSTR('ABCDEFG', 3, 2),
       SUBSTR('ABCDEFG', -4),
       SUBSTR('ABCDEFG', -4, 2);


    SELECT
       LEFT('ABCDEFG', 3),              ====>  ABC
       RIGHT('ABCDEFG', 3);            ====> EFG

     

    - 문자열의 길이

    함수 설명
    LENGTH 문자열의 바이트 길이
    CHAR_LENGTH, CHARACTER_LENGTH 문자열의 문자 길이
    SELECT
        LENGTH('안녕하세요'), -- 15
        CHAR_LENGTH('안녕하세요'), -- 5
        CHARACTER_LENGTH('안녕하세요'); -- 5

     

    - 공백제거

    함수 설명
    TRIM 양쪽 공백 제거
    LTRIM 왼쪽 공백 제거
    RTRIM 오른쪽 공백 제거
    SELECT
        CONCAT('|', ' HELLO ', '|'),                    ======>  | HELLO |
        CONCAT('|', LTRIM(' HELLO '), '|'),       ======>  |HELLO |
        CONCAT('|', RTRIM(' HELLO '), '|'),      ======>  | HELLO|
        CONCAT('|', TRIM(' HELLO '), '|');         ======>  |HELLO|

     

     

    -글자 이어 붙이기

    함수 설명
    LPAD(S,N,P) S가 N글자가 될 때까지 P를 이어붙임
    RPAD(S,N,P) S가 N글자가 될 때까지 P를 이어붙임
    SELECT
        LPAD('ABC', 5, '-'),            =====> --ABC
        RPAD('ABC', 5, '-');           =====> ABC--

     

    - 문자 변경

    함수  설명
    REPLACE(S,A,B) S중 A를 B로 변경
    SELECT
       REPLACE(Description, ', ', ' and ')
    FROM Categories;

     

    - 문자 위치 찾기

    함수  설명
    INSTR(S,s) S중 s의 첫 위치를 반환, 없을 시 0

     

    SELECT
        INSTR('ABCDE', 'ABC'),
        INSTR('ABCDE', 'BCDE'), INSTR('ABCDE', 'C'), INSTR('ABCDE', 'DE'), INSTR('ABCDE', 'F');

     

    - 자료형으로 변환

    함수  설명
    CAST(A AS T) A를 T자료형으로 변환
    CONVERT(A, T) A를 T자료형으로 변환
    SELECT
        '01' = '1',       -- 0
        CAST('01' AS DECIMAL) = CAST('1' AS DECIMAL); --1

     

    반응형

    'DataBase > MySql' 카테고리의 다른 글

    Mysql - 기타 함수들(조건문) if, ifnull  (0) 2023.10.12
    Mysql - 시간,날짜 관련 함수(2)  (0) 2023.10.12
    Mysql - 시간,날짜 관련 함수(1)  (0) 2023.09.25
    MySql - 각종연산자들  (0) 2023.09.07
    MySql - Select의 기능  (0) 2023.09.07

    댓글

Designed by Tistory.