加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Postgresql 插入数据时自动截取一定长度的字符串

发布时间:2020-12-13 17:37:29 所属栏目:百科 来源:网络整理
导读:出处:http://netkiller.github.io/postgresql/index.html 5.1.INSERT 5.1.1.自动截取字符串 CREATE TABLE test (c varchar(5)); 现在开始插入数据库,每次增加一个长度 test= INSERT INTO test VALUES ('1');INSERT 0 1test= INSERT INTO test VALUES ('12'

出处:http://netkiller.github.io/postgresql/index.html

5.1.INSERT

5.1.1.自动截取字符串

CREATE TABLE test (c varchar(5));
			

现在开始插入数据库,每次增加一个长度

			
test=> INSERT INTO test VALUES ('1');
INSERT 0 1
test=> INSERT INTO test VALUES ('12');
INSERT 0 1
test=> INSERT INTO test VALUES ('123');
INSERT 0 1
test=> INSERT INTO test VALUES ('1234');
INSERT 0 1
test=> INSERT INTO test VALUES ('12345');
INSERT 0 1
test=> INSERT INTO test VALUES ('123456');
ERROR:  value too long for type character varying(5)
test=> INSERT INTO test VALUES ('1234567');
ERROR:  value too long for type character varying(5)
test=>
			
			

超出长度会提示 ERROR: value too long for type character varying(5)

通过 ::varchar(5) 截取5前五个字符,后面抛弃

			
test=> INSERT INTO test VALUES ('123456'::varchar(5));
INSERT 0 1
test=> INSERT INTO test VALUES ('1234567'::varchar(5));
INSERT 0 1
test=> INSERT INTO test VALUES ('12345678'::varchar(5));
INSERT 0 1
			
			

超过的部分被自动截取

			
test=> select * from test;
   c
-------
 1
 12
 123
 1234
 12345
 12345
 12345
 12345
(8 rows)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读