Home > Database > Mysql Tutorial > body text

Detailed explanation of the usage of CHARACTER_LENGTH() function in MySQL

藏色散人
Release: 2019-04-25 17:06:09
Original
8058 people have browsed it

In MySQL, the CHARACTER_LENGTH() function returns the length of the string in characters.

CHARACTER_LENGTH() is a synonym for the CHAR_LENGTH() function.

The syntax is like this:

CHARACTER_LENGTH(str)
Copy after login

where str is the string that returns the length.

Example 1 - Basic usage

The following is an example of basic usage:

SELECT CHARACTER_LENGTH('Cat');
Copy after login

The result is like this:

+-------------------------+
| CHARACTER_LENGTH('Cat') |
+-------------------------+
|                       3 |
+-------------------------+
Copy after login

Example 2 - Spaces at the end

Note that CHARACTER_LENGTH() includes trailing spaces (such as spaces at the end of a string) in its calculations.

So if we add space at the end of the previous example:

SELECT CHARACTER_LENGTH('Cat ');
Copy after login

Result:

+--------------------------+
| CHARACTER_LENGTH('Cat ') |
+--------------------------+
|                        4 |
+--------------------------+
Copy after login

But we can use TRIM() function or RTRIM() function to remove Following spaces:

SELECT 
  CHARACTER_LENGTH(TRIM('Cat ')) AS 'TRIM',
  CHARACTER_LENGTH(RTRIM('Cat ')) AS 'RTRIM';
Copy after login

Result:

+------+-------+
| TRIM | RTRIM |
+------+-------+
|    3 |     3 |
+------+-------+
Copy after login

Example 3 - Preceded by spaces

The same concept applies to preceding spaces. You can use TRIM or LTRIM:

SELECT 
  CHARACTER_LENGTH(TRIM(' Cat')) AS 'TRIM',
  CHARACTER_LENGTH(LTRIM(' Cat')) AS 'LTRIM';
Copy after login

Result:

+------+-------+
| TRIM | LTRIM |
+------+-------+
|    3 |     3 |
+------+-------+
Copy after login

Example 4 - Data Type

No matter what data type the string is stored in , it will all return the same result. This is in contrast to the LENGTH() function, which will return double the number of characters if the data is stored as a Unicode string.

In the example below, the ArtistName column uses varchar(255):

SELECT CHARACTER_LENGTH(ArtistName) Result
FROM Artists
WHERE ArtistName = 'Lit';
Copy after login

The result:

+--------+
| Result |
+--------+
|      3 |
+--------+
Copy after login
Copy after login

If we modify the ArtistName column to use Unicode:

ALTER TABLE Artists 
MODIFY COLUMN ArtistName VARCHAR(255) unicode;
Copy after login

And run the same query again:

SELECT CHARACTER_LENGTH(ArtistName) 
FROM Artists
WHERE ArtistName = 'Lit';
Copy after login

We still get the same result:

+--------+
| Result |
+--------+
|      3 |
+--------+
Copy after login
Copy after login

However, if we use the LENGTH() function, the result will be 6. This is because Unicode strings store 2 bytes per character and the LENGTH() function returns the length measured in bytes.

Related recommendations: "mysql tutorial"

The above is the detailed content of Detailed explanation of the usage of CHARACTER_LENGTH() function in MySQL. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template