According to this answer, CHAR
and VARCHAR
return the length differently.
But when I run this code:
CREATE TABLE EMPLOYEE
( ID INT,
Var_Name VARCHAR(5) NOT NULL,
Char_Name CHAR(5) NOT NULL,
Age INT,
Dnumber INT,
Level INT,
PRIMARY KEY (ID)
);
INSERT INTO EMPLOYEE (ID, Var_Name, Char_Name, Age, Dnumber, Level) VALUES(1,'Tom', 'Tom', 21, 2, 5);
INSERT INTO EMPLOYEE (ID, Var_Name, Char_Name, Age, Dnumber, Level) VALUES(2,'Lucky', 'Lucky', 22, 2, 3);
INSERT INTO EMPLOYEE (ID, Var_Name, Char_Name, Age, Dnumber, Level) VALUES(3,'Blue', 'Blue', 20, 2, 3);
SELECT Var_Name, LENGTH(Var_Name), LENGTH(Char_Name) FROM EMPLOYEE
Output:
Var_Name LENGTH(Var_Name) LENGTH(Char_Name)
Tom 3 3
Lucky 5 5
Blue 4 4
I think the output should like this:
Var_Name LENGTH(Var_Name) LENGTH(Char_Name)
Tom 3 5
Lucky 5 5
Blue 4 5
Why CHAR
and VARCHAR
return the same length?