Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > ADP及SQL SERVER

SQL Server之莫名其妙的空格

时 间:2020-01-23 20:50:46
作 者:易勋   ID:35404  城市:上海
摘 要:最近,某个表中有一些字段是nvarchar的类型,但是在有效字符后面确出现了莫名其妙的空格,这是怎么回事呢?
正 文:

情况如下图,在YiXun之后存在25个空格:

进入表设计视图一看,字段类型确实是nvarchar(30)类型(变长)

而且只有两条记录存在这样的问题。

由于RequestBy这个字段数据需要作为一个检测条件,如果“YiXun”变成“YiXun                         ”,这样会导致判定不通过。

那么问题究竟出在哪里呢?从客户端的赋值、保存、加载等相关的Debug和对SQL Server检查均未找出原因,这个问题陷入了困局。

蓦然回首,问题还是表结构

转机出现在备份数据库中,原来当时新建表的时候,由于操作失误,将RequestBy和GNC字段的类型设置为了nchar(30)类型(定长),虽然在后面的调整中发现了这个问题,并调整了字段类型,但是nchar转换为nvarchar的时候,会保留在nchar类型是由于定长规则产生的空格,但是当时并未处理已有数据。直到在测试对RequestBy字段的比对功能的时候才发现这个问题。


PS.上文中空格为定长字段类型的补充字符


参考:

nchar 和 nvarchar (Transact-SQL)




Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助