> 데이터 베이스 > MySQL 튜토리얼 > MySQL LENGTH()와 CHAR_LENGTH() 함수의 차이점은 무엇입니까?

MySQL LENGTH()와 CHAR_LENGTH() 함수의 차이점은 무엇입니까?

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

MySQL LENGTH() 和 CHAR_LENGTH() 函数有什么区别?

이 두 함수는 모두 문자열 함수이며 문자열에 있는 문자 수를 반환합니다. 그러나 CHAR_LENGTH() 함수는 문자열 길이를 "문자" 단위로 측정하는 반면 LENGTH() 함수는 문자열 길이를 "바이트" 단위로 측정한다는 점에서 다릅니다. 즉, CHAR_LENGTH() 함수는 다중 바이트 안전하다고 말할 수 있습니다. 즉, 문자가 단일 바이트인지 다중 바이트인지를 무시합니다. 예를 들어 문자열에 2바이트 문자 4개가 포함된 경우 LENGTH()입니다.

이 함수는 8을 반환하고 CHAR_LENGTH() 함수는 4를 반환합니다. 이런 의미에서 CHAR_LENGTH()는 LENGTH() 함수보다 더 정확한 결과를 제공한다고 말할 수 있습니다.

이 차이는 특히 대부분의 문자가 2바이트로 인코딩되는 유니코드 또는 바이트 수가 달라지는 UTF-8과 관련이 있습니다. 아래 예는 다음을 보여줍니다. -

Example

아래 예에서는 먼저 문자열 'Gaurav'가 유니코드, 2바이트 문자 집합인 ucs2 strong>로 변환됩니다. 그런 다음 결과 집합의 차이를 관찰할 수 있습니다. 즉, LENGTH()는 길이를 바이트 단위로 반환하는 반면 CHAR_LENGTH()는 길이를 문자 단위로 반환합니다.

mysql> SET @A = CONVERT('Gaurav' USING ucs2);
Query OK, 0 rows affected (0.15 sec)

mysql> Select Char_length(@A), LENGTH(@A);

+-----------------+------------+
| Char_length(@A) | LENGTH(@A) |
+-----------------+------------+
| 6               | 12         |
+-----------------+------------+

1 row in set (0.03 sec)
로그인 후 복사

이제 아래 예에서는 UTF-8의 특수 문자를 사용하고 있으며 문자 집합의 바이트 수가 다릅니다. 그런 다음 결과 집합과의 차이점을 관찰할 수 있습니다.

rreee

위 내용은 MySQL LENGTH()와 CHAR_LENGTH() 함수의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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