char_length()는 문자열의 길이를 표시하는 데 사용할 수 있습니다. 매개변수로 포함된 문자열의 길이를 구하는 예를 살펴보겠습니다.
mysql> select char_length('John');
다음은 출력입니다.
+---------------------+ | char_length('John') | +---------------------+ | 4 | +---------------------+ 1 row in set (0.00 sec)
length() 함수는 바이트 단위로 측정된 문자열의 길이를 표시하는 데 사용할 수 있습니다. 많은 경우 문자와 바이트 길이는 동일합니다.
다음은 length()
의 예입니다.mysql> select length('Tim');
다음은 출력입니다.
+---------------------+ | length('Tim') | +---------------------+ | 3 | +---------------------+ 1 row in set (0.00 sec)
length() 및 char_length()는 문자열에서 동일한 결과를 제공합니다. length() 함수는 유니코드를 적용할 때 다른 길이를 제공합니다. 열 이름에 유니코드가 있다고 가정합니다. 유니코드에서는 모든 단일 문자가 2바이트를 차지합니다.
예를 들어 보겠습니다 -
mysql> create table LengthAndCharLengthDemo -> ( -> FirstName varchar(200), -> SecondName varchar(255) unicode -> ); Query OK, 0 rows affected (0.49 sec)
테이블에 레코드 삽입하기.
mysql> insert into LengthAndCharLengthDemo values('John','Ritter'); Query OK, 1 row affected (0.22 sec)
select의 도움으로 테이블의 모든 레코드를 표시합니다.
mysql> select *from LengthAndCharLengthDemo;
다음은 출력입니다.
+-----------+------------+ | FirstName | SecondName | +-----------+------------+ | John | Ritter | +-----------+------------+ 1 row in set (0.00 sec)
길이를 구합시다.
mysql> select char_length(FirstName),length(Secondname) from LengthAndCharLengthDemo -> where FirstName='John' and Secondname='John';
다음은 출력입니다.
+------------------------+--------------------+ | char_length(FirstName) | length(SecondName) | +------------------------+--------------------+ | 4 | 8 | +------------------------+--------------------+ 1 row in set (0.70 sec)
위의 출력에서 length() 함수는 유니코드 때문에 8바이트를 반환하는 반면 char_length()는 4바이트만 반환하는 것을 볼 수 있습니다.