MySQL 문자열 함수 다루기

MySQL 의 문자열 함수에 대해서 알아보겠습니다. 흔히들 MySQL 에서 SELECT한 데이터를 PHP에서 처리를 합니다. 하지만 MySQL에서 처리를 할경우 처리에 대한 오버헤드가 덜 발생하고 그만큼 좀더 효율적으로 프로그래밍을 할 수 있습니다. 자주 사용하는 문자열 함수에 대해서 알아보도록 하겠습니다.

CHAR_LENGTH(string)
문자열의 길이를 알아봅니다. 2Byte문자는 1개로 취급합니다.
mysql> SELECT CHAR_LENGTH("안녕하세요");
+---------------------------+
| CHAR_LENGTH("안녕하세요")  |
+---------------------------+
|                         5 |
+---------------------------+
1 row in set (0.03 sec)


LENGTH(string)
문자열의 Byte수를 알아봅니다.
mysql> SELECT LENGTH("안녕하세요");
+----------------------+
| LENGTH("안녕하세요")  |
+----------------------+
|                   10 |
+----------------------+
1 row in set (0.00 sec)


CONCAT(string1, string2,...)
문자열을 합칩니다.
mysql> SELECT CONCAT("안녕", "하세요");
+--------------------------+
| CONCAT("안녕", "하세요")  |
+--------------------------+
| 안녕하세요                |
+--------------------------+
1 row in set (0.03 sec)


CONCAT_WS ("구분자", string1, string2,...)
문자열을 특정 구분자를 포함시켜 합쳐줍니다.
mysql> SELECT CONCAT_WS(',', "안녕", NULL, "하세요");
+----------------------------------------+
| CONCAT_WS(',', "안녕", NULL, "하세요")  |
+----------------------------------------+
| 안녕,하세요                             |
+----------------------------------------+
1 row in set (0.00 sec)


FORMAT(number, round)
숫자의 천단위 구분자를 넣어줍니다. round 는 소수점 뒷자리 절사 길이 입니다.
mysql> SELECT FORMAT(123456, 0);
+-------------------+
| FORMAT(123456, 0) |
+-------------------+
| 123,456           |
+-------------------+
1 row in set (0.00 sec)


REPLACE(string, from_string, to_string)
문자열을 치환합니다.
mysql> SELECT REPLACE("우리나라 나쁜나라", "나쁜", "좋은");
+----------------------------------------------+
| REPLACE("우리나라 나쁜나라", "나쁜", "좋은")    |
+----------------------------------------------+
| 우리나라 좋은나라                              |
+----------------------------------------------+
1 row in set (0.02 sec)


문자열함수는 위에 나온 함수보다 더 많은 함수가 있으나 빈번히 사용되고 가장 유용하게 사용되는것만 뽑아서 예를 들어 보았습니다. 다음시간에는 문자열 비교 함수에 대해서 알아보도록 하겠습니다.

"MySQL" 카테고리의 다른 글

Trackback

Trackback Address :: http://www.lovelgw.com/Blog/trackback/257