我已经创建了一个表格。
CREATE TABLE Persons (
PersonID int,
LastName varchar(5),
FirstName varchar(5),
Address varchar(5),
City varchar(5)
);
我在那个表中插入了一个数据。
INSERT INTO Persons (PersonID,LastName,FirstName, Address,City )
VALUES ('1','TomBErichsen','Skagen212','Stavanger3','c4006333');
数据正在插入
1 TomBErichsen Skagen212 Stavanger3 c4006
但是我的问题是我创建了一个存储元素5。如果输入的数量超过5 VARCHAR 所有字符都被存储。我必须避免这种情况。数据应该这样存储
1 TomBe Skage Stavan c4006
超过5个字母。如果我输入的字母超过5个,则应删除数据。我该怎么办?
答案 0 :(得分:0)
您使用 SUBSTRING()函数。
INSERT INTO Persons (PersonID,LastName,FirstName, Address,City )
VALUES ('1',SUBSTRING('TomBErichsen',1,5),SUBSTRING('Skagen212',1,5),SUBSTRING('Stavanger3',1,5),SUBSTRING('c4006333',1,5));
答案 1 :(得分:0)
首先,您应该知道char和var-char数据类型的区别是什么。因此,差异如下。
字符
Varchar
在您的问题中,您可以使用如下所示的子字符串。
SUBSTR(str,pos,len)
SUBSTR()函数与SUBSTRING()函数
SELECT SUBSTR('Buddhika',4,3);
结果是:
mysql> SELECT SUBSTR('Buddhika',4,3);
+--------------------------+
| SUBSTR('Buddhika',4,3) |
+--------------------------+
| dhi |
+--------------------------+
1 row in set (0.01 sec)
谢谢。