> 데이터 베이스 > MySQL 튜토리얼 > MySQL LENGTH() 함수는 문자열 길이를 어떻게 측정합니까?

MySQL LENGTH() 함수는 문자열 길이를 어떻게 측정합니까?

WBOY
풀어 주다: 2023-09-02 16:45:02
앞으로
1492명이 탐색했습니다.

MySQL LENGTH() 函数如何测量字符串长度?

MySQL LENGTH() 함수는 문자열 길이를 "바이트" 단위로 측정합니다. 이는 멀티바이트 안전하지 않음을 의미합니다. CHAR_LENGTH() 또는 CHARACTER_LENGTH()와 같은 멀티바이트 안전 함수와 LENGTH() 함수 간의 결과 차이는 특히 대부분의 문자가 2바이트로 인코딩되는 유니코드나 UTF-8과 관련이 있습니다. 바이트 수는 다양합니다. . 예를 들어 문자열에 4개의 2바이트 문자가 포함된 경우 LENGTH() 함수는 8을 반환하고 CHAR_LENGTH() 또는 CHARACTER_LENGTH() 함수는 4를 반환합니다. 아래 예시와 같이 -

Example

mysql> Select LENGTH('tutorialspoint');
+--------------------------+
| LENGTH('tutorialspoint') |
+--------------------------+
|                       14 |
+--------------------------+
1 row in set (0.00 sec)
로그인 후 복사

위 결과 집합을 보면 "tutorialspoint" 문자열은 유니코드 문자로 변환되지 않았기 때문에 길이가 14임을 알 수 있습니다. 다음 쿼리는 이를 유니코드 문자로 변환합니다. -

mysql> SET @A = CONVERT('tutorialspoint' USING ucs2);
Query OK, 0 rows affected (0.02 sec)
로그인 후 복사

문자열을 유니코드로 변환한 후 결과는 14가 아닌 28입니다. 유니코드에서는 아래와 같이 단일 문자가 2바이트를 차지하기 때문입니다. -

mysql> Select LENGTH(@A);
+------------+
| LENGTH(@A) |
+------------+
|         28 |
+------------+
1 row in set (0.00 sec)
로그인 후 복사

그러나 CHAR_LENGTH() 제공된 결과는 다음과 같습니다. 14는 아래와 같이 멀티바이트 안전 기능이므로 -

mysql> Select CHAR_LENGTH(@A);
+-----------------+
| CHAR_LENGTH(@A) |
+-----------------+
|              14 |
+-----------------+
1 row in set (0.00 sec)
로그인 후 복사

위 내용은 MySQL LENGTH() 함수는 문자열 길이를 어떻게 측정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿