xuhanchn
2016-07-30 02:04
采纳率: 92.7%
浏览 3.6k
已采纳

为什么insert到oracle数据库里的字符串后面有空格

create table ncdbauser
(
account char(40),
pwd char(40)
)

insert into ncdbauser (account, pwd) values ('admin1', '1q!');

以上是sql语句。
我用代码调用pwd这个字段的时候,发现1q!后面还跟着很多空格?
定义了char(40),oracle会默认在字符串后面补上空格吗?不应该是直接加一个字符串结束符吗

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • xiaokcsdn 2016-07-31 00:16
    已采纳

    varchar与char的区别就在于是否可变长度。
    char(5)就是定义一个5个字符长度的字符串变量;实际输入字符长度不够5个时数据库自动补空格。
    varchar(5)就是定义一个最长5个字符长度的字符串变量;实际输入字符长度不够5个时,数据库不会自动补全。你写的不就是char么。这CSDNapp怎么的,看评论还要去桌面端=_=

    打赏 评论
  • xiaokcsdn 2016-07-30 03:20

    看看你的表结构是不是定长字符串

    打赏 评论

相关推荐 更多相似问题