MYSQL 문자열함수

DB/MYSQL 2019. 3. 5. 13:11

MYSQL 문자열함수




문자열함수는 2개로 나눠서 작성 하겠습니다. 

해당 작성글은 인터넷에서 찾아보고 제가 찾기쉽게 보기위해서 정리한 내용입니다.


CHAR_LENGTH(string)

문자열의 길이를 알아봅니다. 2Byte문자는 1개로 취급합니다. 

mysql> SELECT CHAR_LENGTH("안녕하세요");

+-----------------------------------+

| CHAR_LENGTH("안녕하세요")  |

+-----------------------------------+

|                                        5 |

+-----------------------------------+



LENGTH(string)

문자열의 Byte수를 알아봅니다. 

mysql> SELECT LENGTH("안녕하세요");

+---------------------------+

| LENGTH("안녕하세요")  |

+---------------------------+

|                             10 |

+---------------------------+



CONCAT(string1, string2,...)

문자열을 합칩니다. 

mysql> SELECT CONCAT("안녕", "하세요");

+-------------------------------+

| CONCAT("안녕", "하세요")  |

+-------------------------------+

| 안녕하세요                       |

+-------------------------------+



CONCAT_WS ("구분자", string1, string2,...)

문자열을 특정 구분자를 포함시켜 합쳐줍니다.

mysql> SELECT CONCAT_WS(',', "안녕", NULL, "하세요");

+-----------------------------------------------+

| CONCAT_WS(',', "안녕", NULL, "하세요")  |

+-----------------------------------------------+

| 안녕,하세요                                         |

+-----------------------------------------------+




FORMAT(number, round)

숫자의 천단위 구분자를 넣어줍니다. round 는 소수점 뒷자리 절사 길이 입니다.

mysql> SELECT FORMAT(123456, 0);

+------------------------+

| FORMAT(123456, 0) |

+------------------------+

| 123,456                  |

+------------------------+



REPLACE(string, from_string, to_string)

문자열을 치환합니다.

mysql> SELECT REPLACE("우리나라 나쁜나라", "나쁜", "좋은");

+-------------------------------------------------------+

| REPLACE("우리나라 나쁜나라", "나쁜", "좋은")    |

+-------------------------------------------------------+

| 우리나라 좋은나라                                         |

+-------------------------------------------------------+


'DB > MYSQL' 카테고리의 다른 글

[MYSQL] 일일백업하기  (0) 2022.04.20
MYSQL 문자열함수2  (0) 2019.03.05
MYSQL 문자 자르기 함수  (0) 2019.03.05
날짜 함수  (0) 2019.03.04
to_date  (0) 2019.03.04
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

MYSQL 문자 자르기 함수



CREATE FUNCTION SPLIT_STRING(

  x text,

  delim varchar(32),

  pos int

)

RETURNS text

RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),

       LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),

       delim, '');

'DB > MYSQL' 카테고리의 다른 글

MYSQL 문자열함수2  (0) 2019.03.05
MYSQL 문자열함수  (0) 2019.03.05
날짜 함수  (0) 2019.03.04
to_date  (0) 2019.03.04
root 비밀번호 변경  (0) 2019.03.04
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,

날짜 함수

DB/MYSQL 2019. 3. 4. 17:29

날짜 함수




1. 시간 관련 함수


SELECT START_TIME,

       YEAR(START_TIME) AS 'YEAR',          

       DATE_FORMAT(START_TIME, '%Y : %y') AS '%Y : %y',    

           

       MONTH(START_TIME) AS 'MONTH',                                          

       DATE_FORMAT(START_TIME, '%M : %b : %m : %c') AS '%M : %b : %m : %c',     



       DAY(START_TIME) AS 'DAY',                                              

       DATE_FORMAT(START_TIME, '%D : %d : %j') AS '%D : %d : %j',      

         

       DAYOFWEEK(START_TIME) AS 'DAYOFWEEK',                                  

       DATE_FORMAT(START_TIME, '%a : %w : %W') AS '%a : %w : %W',        

      

       DATE_FORMAT(START_TIME, '%r : %T') AS '%r : %T',     

                  

       HOUR(START_TIME) AS 'HOUR',            

                                

       DATE_FORMAT(START_TIME, '%H : %I : %k : %p') AS '%H:%I:%k:%p',  

         

       MINUTE(START_TIME) AS 'MINUTE',  

                                      

       SECOND(START_TIME) AS 'SECOND',                                        

       DATE_FORMAT(START_TIME, '%S') AS '%S'                                    

  FROM tb_event;



-- 연도 YEAR[2010] ,  %Y:[2010] , %y:[10]          

-- 달 %M:[January-December], %b:[Jan-Dec], %m:[01-12], %c:[1-12]

-- 날짜

--  %D:[1st-31th], %d:[01-31]     해당월의 일자

--  %j:[001-365]                        해당연도의 일자

-- 요일 (일~토)  DAYOFWEEK:[1-7] , %w:[0-6] , %W:[Sunday-Saturday] , %a:[Sun-Sat]

-- 시간 %r:[00:00:00 AM-11:59:59 PM] ,  %T:[00:00:00-23:59:59]

-- 시 %H:[01-24], %I:[01-12], %k:[1-24], %p:[AM-PM]

-- 분 MINUTE[0-59]

-- 초 SECOND:[0-59] , %S:[00-59]


2. 달수 비교


SELECT PERIOD_DIFF("1997-12-31", "1998-01-01");

SELECT PERIOD_DIFF("1998-01-01", "1997-12-31");


3. 날짜 계산


SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 YEAR);     

SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 MONTH);   

SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 DAY);        

SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 HOUR);      

SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 MINUTE);   

SELECT DATE_ADD("1997-12-31 23:59:59", INTERVAL 10 SECOND);  


SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 YEAR);      

SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 MONTH);    -- ☆ 28일 같이 빼도 표시가 안되면 그달의 말일표시

SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 DAY);

SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 HOUR);

SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 MINUTE);

SELECT DATE_SUB("1997-12-31 23:59:59", INTERVAL 20 SECOND);


4. 현재 날짜


SELECT NOW(), SYSDATE(), CURDATE(), CURTIME();

'DB > MYSQL' 카테고리의 다른 글

MYSQL 문자열함수  (0) 2019.03.05
MYSQL 문자 자르기 함수  (0) 2019.03.05
to_date  (0) 2019.03.04
root 비밀번호 변경  (0) 2019.03.04
PORT 변경  (0) 2019.03.04
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,