Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[MySQL] - LENGTH(), CONCAT(), LOCATE(), REPLACE() 본문

DB/MySQL

[MySQL] - LENGTH(), CONCAT(), LOCATE(), REPLACE()

luke-king 2024. 6. 4. 23:10

 

 

 

[MySQL] - LENGTH(), CONCAT(), LOCATE(), REPLACE() (MySQL 내장함수)

오늘은 LENGTH(), CONCAT(), LOCATE(), REPLACE() MySQL 내장함수에 대해 정리해보려 한다.

 

 

 

LENGTH()

  • 입력 받은 문자열의 길이를 반환한다.

 

✔️<예시 LENGTH()>

SELECT LENGTH('hello word');
------------------------------------------------------
- 응용 -
SELECT country, LENGTH(country) AS country_length
FROM world
------------------------------------------------------
SELECT [컬럼], LENGTH(컬럼) AS [컬럼명 지정] (생략가능)
FROM [테이블]

입력받은 문자열의 길이를 반환해준다.

 

 

<결과>

LENGTH() 결과
LENGTH() 응용 결과

 

결과를 보면 'hello word'의 문자열 길이를 반환 한걸 확인할 수 있다.

(다만 공백은 길이에 포함시키지 않는다.)

LENGTH()를 사용해 응용한 결과 값을 보면 country 컬럼의 문자열 값들을 문자열 길이로 반환하는 걸 확인할 수 있다.

 

 

 

CONCAT()

  • 입력받은 문자열을 모두 결합해 하나의 문자열로 반환한다.
  • 입력받은 문자열 중 하나라도 NULL 이 존재한다면 NULL을 반환한다.

 

✔️<예시 CONCAT()>

SELECT CONCAT('hello ', 'my ', 'name ', 'is ', 'DB')
----------------------------------------------------
-응용-
SELECT CONCAT(country ,' DB') AS Introduce
FROM world
----------------------------------------------------
SELECT CONCAT([컬럼], '문자열') AS [컬럼명 지정] (생략 가능)
FROM [테이블]

입력받은 문자열들을 나열해 출력하면 결합해 하나의 문자열로 반환한다.

(공백을 넣어주지 않으면 전체 문장이 붙어서 나오니 필요하다면 공백을 넣어주자!)

 

 

<결과>

 

CONCAT() 결과
CONCAT() 응용 결과

 

결과를 확인해 보면 기본적으로 사용한 CONCAT은 입력받은 문자열을 하나로 결합해 반환 한걸 확인할 수 있다.

CONCAT을 응용해 사용하면 country 컬럼의 값들을 받아 뒤에 ' DB ' 문자열을 결합한 결과를 확인할 수 있다.

하지만 위에 설명했다시피 중간에 입력받은 값 중 NULL값이 있다면 NULL 값을 반환하니 주의하자!

 

 

 

LOCATE()

  • 문자열 내에서 찾는 문자열이 처음으로 나타나는 위치를 찾아서 해당 위치를 반환한다.
  • 찾는 문자열이 문자열 내에 존재하지 않으면 0을 반환한다.
  • MySQL에서는 문자열의 시작 인덱스는 1부터 시작한다.

 

 

✔️<예시 LOCATE()>

SELECT LOCATE('Banana', 'apple,Banana,dragonfruit')
----------------------------------------------------
-응용-
 SELECT country, LOCATE(country, 'korea,usa,spain') AS findword
 FROM world
----------------------------------------------------
SELECT [컬럼], LOCATE(컬럼, '문자열') AS [컬럼명 지정] (생략 가능)
FROM [테이블]

찾을 문자열을 찾아야 하는 문자열을 비교해 어디에 있는지 해당 위치 인덱스를 반환한다.

 

 

<결과>

LOCATE() 결과
LOCATE() 응용 결과

 

결과를 확인해 보면 기본적으로 사용한 LOCATE는 'apple, Banana, dragonfruit'에서 'Banana' 위치를 찾아 인덱스 결과값을 반환한 걸 확인할 수 있다.

LOCATE를 응용한 결과는 'korea, usa, spain'의 문자열에 country 컬럼 값들 중 일치한 값들을 찾아 인덱스 값을 반환한다.

 

 

REPLACE()

  • 문자열에서 특정 문자열을 대체 문자열로 교체한다.

 

 

✔️<예시 REPLACE()>

SELECT REPLACE('welcome banana', 'banana', 'apple')
------------------------------------------------------
-응용-
SELECT country, REPLACE(country, 'korea', 'Republic of Korea') AS change_country
FROM world
------------------------------------------------------
SELECT [컬럼], REPLACE([컬럼], '컬럼값과 일치한 값', '일치한 값을 바꿀 값') AS [컬럼명 지정] (생략가능)
 FROM [테이블]

입력받은 문자열중 바꿀 문자열을 지정해 교체할 문자열을 입력한 후 문자열을 교체해 준다. 

 

 

<결과>

 

REPLACE() 결과
REPLACE() 응용 결과

 

결과를 확인해 보면 기본적으로 사용한 REPLACE는 'welcome banana'에서 'banana'를 'apple'로 교체 해준걸 확인할 수 있다. REPLACE를 응용한 결과는 country 컬럼에 있는 값들 중 'korea' 값이 있는 컬럼을 'Republic of Korea'로 교체 한걸 확인할 수 있다.