>데이터 베이스 >MySQL 튜토리얼 >mysql에서 길이를 찾는 함수는 무엇입니까?

mysql에서 길이를 찾는 함수는 무엇입니까?

青灯夜游
青灯夜游원래의
2020-10-07 14:07:403589검색

mysql의 길이를 구하는 함수는 length() 함수와 char_length() 함수입니다. length() 함수는 문자열의 길이를 바이트 단위로 반환할 수 있고, char_length() 함수는 문자열을 문자 단위로 반환할 수 있습니다. . 길이.

mysql에서 길이를 찾는 함수는 무엇입니까?

char_length 함수와 MySQL의 length 함수는 모두 문자열의 길이를 반환할 수 있습니다.

mysql> select length('MySQL'), char_length('MySQL');
+-----------------+----------------------+
| length('MySQL') | char_length('MySQL') |
+-----------------+----------------------+
|               5 |                    5 |
+-----------------+----------------------+
1 row in set (0.01 sec)

두 함수의 함수:

  • LENGTH()는 문자열의 길이를 바이트 단위로 반환합니다. .

  • CHAR_LENGTH() 문자열의 길이를 문자 단위로 반환합니다.

위의 예를 보면 "MySQL"은 총 5개의 문자가 있고, 각 문자는 1바이트를 차지해야 합니다.

하지만 중국어는 다릅니다. 일반적으로 한자 하나가 2~3바이트를 차지합니다. 예:

GBK 문자 세트 인코딩:

select char_length(‘中国’); // 2个字符
select length(‘中国’); // 4个字节,一个汉字2个字节
select bit_length(‘中国’); // 32位。4*8 = 32

UTF8 문자 세트 인코딩:

select char_length(‘中国’);// 2个字符
select length(‘中国’); // 6个字节,一个汉字3个字节
select bit_length(‘中国’); // 48位。6*8 = 48

요약

char_length(str)

  • 길이 단위는 문자이며, 멀티바이트 문자는 다음과 같이 계산됩니다. 단일 문자

  • 는 한자, 숫자, 문자 여부에 관계없이 하나의 문자로 간주됩니다.

length(str)

  • utf8 인코딩에서는 한자 하나가 세 문자로 계산되고, 숫자 또는 문자 하나가 하나의 문자로 간주됩니다. 문자는 한 문자로 간주됩니다.

  • 다른 인코딩에서는 한자 1개가 2자로 계산되고, 숫자나 문자 1개가 1자로 계산됩니다.

추천 튜토리얼: mysql 비디오 튜토리얼

위 내용은 mysql에서 길이를 찾는 함수는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.