| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 142 人关注过本帖
标题:怪事!插入一条超过字段长度的记录,数据库没有报错!
只看楼主 加入收藏
qq502100724
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-10-11
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
怪事!插入一条超过字段长度的记录,数据库没有报错!
版本:SQL Server 2016

--创建数据库(字段大小为3)
CREATE TABLE [dbo].[test] ([a] nvarchar(3))

--插入长度超过3的字符串,报错。
INSERT INTO test VALUES('1111111111');
--[Err] 22001 - [SQL Server]String or binary data would be truncated.

--插入长度超过3的字符串 (成功插入,没报错!!!)
INSERT INTO test VALUES('1            ');

--查看数据库该记录是'1  ',发现长度超过3的空格被截断了。

有人知道这是什么机制?翻了官方文档没找到。



[此贴子已经被作者于2021-1-8 09:42编辑过]

搜索更多相关主题的帖子: 插入 记录 报错 数据库 长度 
2021-01-08 09:35
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:130
帖 子:2774
专家分:7124
注 册:2015-3-25
收藏
得分:0 
会自动切去后面空格的
2021-01-08 22:10
qq502100724
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-10-11
收藏
得分:0 
回复 2楼 mywisdom88
这是什么机制啊,有什么参考的文档吗
2021-01-11 09:59
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:130
帖 子:2774
专家分:7124
注 册:2015-3-25
收藏
得分:10 
char(3)
固定保存3个字符长度,当不够3个,后面会用空格填满。
varchar(3)
保存变长数据,保存实际长度,最多3个字符,会自动去除后面空格
2021-01-13 13:04
快速回复:怪事!插入一条超过字段长度的记录,数据库没有报错!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059050 second(s), 8 queries.
Copyright©2004-2021, BCCN.NET, All Rights Reserved