SQL/MySQL

MySQL LENGTH, CHAR_LENGTH 함수 사용법과 예시

진리뷰 2024. 2. 8. 18:13
반응형

 

 

MySQL-LENGTH-CHAR_LENGTH-함수-사용법과-예시(해커랭크 Weather Observation Station 5)-썸네일
MySQL LENGTH, CHAR_LEGNTH()

 

 

본문은 MySQL LEGNTH, CHAR_LENGTH 함수 개념 및 사용법, 예시를 통한 함수의 활용법을 담고 있습니다.

*예시: 해커랭크 SQL Weather Observation Station 5 문제

 

 

MySQL LENGTH, CHAR_LENGTH 함수

 

파이썬 LEN 함수처럼, 영문자의 Byte를 반환, 문자열 길이를 반환하는 LENGTH와 CHAR_LENGTH 함수가 있다.

영문에는 LENGTH 함수를 사용한다.

한글에는 CHAR_LENGTH함수를 사용하며, 이는 Byte를 고려하지 않고 문자 개수를 반환한다.

 

 

MySQL LENGTH, CHAR_LENGTH 함수 사용법과 예시

 

# LENGTH 함수
LENGTH('문자열');

# CHAR_LENGTH 함수
CHAR_LENGTH('문자열');

 

 

 

문자열은 단순 문자, 특수문자, 띄어쓰기 등을 고려한다.

따라서 'Love You' 사이의 띄어쓰기까지 계산하여 총 8Byte로, 8을 반환한다.

'안녕하세요! 반갑습니다.' 도 띄어쓰기와 '!', '.'까지 계산하여 총 13개 문자로, 13을 반환한다.

# LENGTH 함수 예시
SELECT LENGTH('Love You')
>> 8

# CHAR_LENGTH 함수 예시
SELECT LENGTH('안녕하세요! 반갑습니다.')
>> 13

 

 

MySQL LENGTH, CHAR_LENGTH 활용(해커랭크 Weather Observation Station 5)

 

LENGTH 함수를 해커랭크 SQL Weather Observation Station 5 문제로 더 알아보자.

 

이는 STATION 테이블에 가장 짧은, 가장 긴 CITY명을 가진 데이터를 출력하는 문제다.

만약 가장 짧은, 가장 긴 글자 수를 갖는 CITY가 각각 두 개 이상이면 알파벳순으로 정렬해서 하나만 출력해야 한다.

 

 

해커랭크-Weather Observation Station 5
해커랭크 SQL Weather Observation Station 5 문제

 

 

아래는 정답 쿼리이다.

요구하는 결과물 포맷을 보면 "가장 짧은 도시명, 글자 수, 가장 긴 도시명, 글자 수"이다.

때문에 가장 짧은 도시명을 구하는 쿼리와 가장 긴 도시명을 구하는 쿼리를 각각 작성했고 UNION으로 연결했다.

 

 

(SELECT CITY
      , LENGTH(CITY)
FROM STATION
ORDER BY LENGTH(CITY) ASC, CITY ASC
LIMIT 1)	# 길이가 오름차순이며 1개만 출력하기에, 가장 짧은 문자열

UNION

(SELECT CITY
      , LENGTH(CITY)
FROM STATION
ORDER BY LENGTH(CITY) DESC, CITY ASC
LIMIT 1);	# 길이가 내림차순이며 1개만 출력하기에, 가장 긴 문자열

 

 

정답 쿼리의 결과물이다.

CITY LENGTH(CITY)
Amo 3
Marine On Saint Croix 21
반응형
top