VARCHAR
This page is part of MariaDB's Enterprise Documentation.
The parent of this page is: Data Types
Topics on this page:
Overview
Variable-length string with limit up to 65,535 bytes.
See also: Data Types in 10.6 ES, in 10.6 CS, in 10.5 ES, in 10.5 CS, in 10.4 ES, in 10.4 CS, in 10.3 ES, in 10.3 CS, in 10.2 ES, and in 10.2 CS
DETAILS
SYNONYMS
The following are synonyms for VARCHAR:
CHAR VARYING
CHARACTER VARYING
VARCHAR2
VARCHARACTER
EXAMPLES
VARCHAR
For our example of VARCHAR
we picked a maximum size that avoids overflowing the maximum row size (65535). Keep in mind that a multi-byte character set would need more space in the row than a single-byte character set. We also avoid the auto-conversion of a VARCHAR
into a TEXT
, MEDIUMTEXT
, or LONGTEXT
that can happen when STRICT_TRANS_TABLES
is not set in the SQL_MODE
.
The example:
CREATE TABLE varchar_example (
description VARCHAR(20),
example VARCHAR(65511)
);
INSERT INTO varchar_example VALUES
('Normal foo', 'foo'),
('Trailing spaces foo', 'foo '),
('NULLed', NULL),
('Empty', ''),
('Maximum', RPAD('', 65511, 'x'));
SELECT description, LENGTH(example) AS length
FROM varchar_example;
+---------------------+--------+
| description | length |
+---------------------+--------+
| Normal foo | 3 |
| Trailing spaces foo | 9 |
| NULLed | NULL |
| Empty | 0 |
| Maximum | 65511 |
+---------------------+--------+
Data too long
When SQL_MODE
is strict (the default) a value is considered "too long" when its length exceeds the size of the data type, and an error is generated.
Example of data too long behavior for VARCHAR
:
TRUNCATE varchar_example;
INSERT INTO varchar_example VALUES
('Overflow', RPAD('', 65512, 'x'));
ERROR 1406 (22001): Data too long for column 'example' at row 1
CHANGE HISTORY
Release Series | History |
---|---|
10.6 Enterprise |
|
10.6 Community |
|
10.5 Enterprise |
|
10.5 Community |
|
10.4 Enterprise |
|
10.4 Community |
|
10.3 Enterprise |
|
10.3 Community |
|
10.2 Enterprise |
|
10.2 Community |
|
EXTERNAL REFERENCES
Additional information on this topic may be found in the MariaDB Public Knowledge Base.
Information specific to MariaDB SkySQL can be found on the VARCHAR page in the SkySQL Documentation.