当加入空格后查出

解决:

导致出现这样的现象的原因就是SET ANSI_PADDING选项。

这个选项只在数据表的字符串字段被更新或者新的数据行插入到表中的时候作用。它控制着SQL Server在遇到字符串尾随空格时是否截断空格,以及是否填充空格以达到预定义的字符字段长度。

对于已经存储到表里面的字符串数据字段,是不会受影响的(前提是没有在本次被更新)。而且它也只是影响某些字符串类型,像charvarcharbinary, 和varbinary。其他的字符串类型像ncharnvarcharntexttextimagevarbinary(max)varchar(max), and nvarchar(max)并不受影响,原因是它们本身是永远开启SET ANSI_PADDING为ON的。

微软是建议永远开启这个选项。

语法

 
 
 
 
SET ANSI_PADDING { ON | OFF }
备注

 
 

使用 charvarcharbinary 和 varbinary 数据类型定义的列有一个定义的大小。

此设置只影响新列的定义。 创建列后,SQL Server 2005 将根据创建列时的设置存储这些值。 现有的列不受以后对该设置更改的影响。

注意:
建议始终将 ANSI_PADDING 设置为 ON。

下表显示在将值插入含有 charvarcharbinary 和 varbinary 数据类型的列时,SET ANSI_PADDING 设置的效果。

设置 char(n) NOT NULL 或 binary(n) NOT NULL char(n) NULL 或 binary(n) NULL varchar(n) 或 varbinary(n)

ON

填充原始值(char 列具有尾随空格的值,binary 列具有尾随零的值),使达到列的长度。

如果 SET ANSI_PADDING 为 ON,则遵从与 char(n) 或 binary(n)NOT NULL 相同的规则。

不剪裁插入 varchar 列中的字符值的尾随空格。 不剪裁插入 varbinary 列中的二进制值的尾随零。 不将值填充到列的长度。

OFF

填充原始值(char 列具有尾随空格的值,binary 列具有尾随零的值),使达到列的长度。

如果 SET ANSI_PADDING 为 OFF,则遵从与 varchar 或 varbinary 相同的规则。

剪裁插入 varchar 列中的字符值的尾随空格。 剪裁插入 varbinary 列中的二进制值的尾随零。

注意:
进行填充时,char 列用空格填充,binary 列用零填充。 进行剪裁时,char 列的尾随空格被剪裁,binary 列的尾随零被剪裁。

如果是对计算列或索引视图创建或更改索引,则 SET ANSI_PADDING 必须为 ON。 有关计算列的索引视图和索引必需的 SET 选项设置的详细信息,请参阅 SET (Transact-SQL) 中的“使用 SET 语句时的注意事项”。

SET ANSI_PADDING 的默认值为 ON。 进行连接时,SQL Server 的 SQL Native Client ODBC 驱动程序和 SQL Native Client OLE DB 访问接口会自动将 ANSI_PADDING 设置为 ON。 这可以在 ODBC 数据源、ODBC 连接特性或 OLE DB 连接属性(它们在连接前在应用程序中设置)中进行配置。 对于来自 DB-Library 应用程序的连接,SET ANSI_PADDING 的默认设置为 OFF。

SET ANSI_PADDING 设置不影响 ncharnvarcharntexttextimage 和大型值。 它们始终显示 SET ANSI_PADDING ON 行为。 这表示不剪裁尾随空格和尾随零。

如果 SET ANSI_DEFAULTS 为 ON,则启用 SET ANSI_PADDING。

SET ANSI_PADDING 的设置是在执行或运行时设置的,而不是在分析时设置的。

SQL Server 2008 R2【SET ANSI_PADDING填充属性】插入一条数据后,为何每一列都默认的在字符后多了几个空格的更多相关文章

  1. SQL Server 2008 R2——使用FOR XML PATH实现多条信息按指定格式在一行显示

    =================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮 ...

  2. SQL Server 2008 R2——学习/练习/错误/总结/搜集

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  3. SQL Server 2008 R2 性能计数器详细列表(三)

    原文:SQL Server 2008 R2 性能计数器详细列表(三) SQL Server,Deprecated Features 对象: 监视指定为不推荐使用的功能: SQL Server Depr ...

  4. 利用SQL Server 2008 R2创建自动备份计划

    本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQL Se ...

  5. SQL Server 2000向SQL Server 2008 R2推送数据

    [文章摘要]最近做的一个项目要获取存在于其他服务器的一些数据,为了安全起见,采用由其他“服务器”向我们服务器推送的方式实现.我们服务器使用的是SQL Server 2008 R2,其他“服务器”使用的 ...

  6. 更改计算机名称后 导致 sql server 2008 R2 用windows账户不能附加的错误解决办法

    出错背景:本人想用sql server 2008 R2 附加sql server 2005数据库出现拒绝访问,后查询网站得知,要用windows身份验证方式登录进去附加, 然后我就用windows身份 ...

  7. SQL Server 2008 R2数据库镜像部署

    概述 “数据库镜像”是一种针对数据库高可用性的基于软件的解决方案.其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中.建议使用不同位置的两台服务器来承载.在 ...

  8. SQL Server 2008 R2 开启数据库远程连接

    今天要测试一个.net系统~因为配置的数据库是SQL Server~我就不得不安装SQL Server 2008 R2~现在我们就一起来看看SQL Server 2008 R2是如何打开远程连接端口1 ...

  9. SQL Server 2008 R2 主从数据库同步

    一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2    DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.1 ...

随机推荐

  1. WP7.1 应用程序发布到Marketplace

    从8月22起Windows Phone marketplace可以提交7.1 sdk开发的应用了,尽管提交页面和方式与7.0是同一个,但是还是会出现一些问题.并且在提交之前也注意一些问题. 7.0 应 ...

  2. 【POJ】2234 Matches Game(博弈论)

    http://poj.org/problem?id=2234 博弈论真是博大精深orz 首先我们仔细分析很容易分析出来,当只有一堆的时候,先手必胜:两堆并且相同的时候,先手必败,反之必胜. 根据博弈论 ...

  3. 【BZOJ】1862: [Zjoi2006]GameZ游戏排名系统 & 1056: [HAOI2008]排名系统(treap+非常小心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1862 http://www.lydsy.com/JudgeOnline/problem.php?id ...

  4. COJ574 数字序列

    试题描述   霸中智力测试机构的一项工作就是按照一定的规则删除一个序列的数字,得到一个确定的数列.陈思同学很渴望成为霸中智力测试机构的主管,但是他在这个工作上做的并不好,俗话说熟能生巧,他打算做很多练 ...

  5. 基于SpringMVC框架项目Demo

    Git地址:https://github.com/JavaWeb1024/SpringMVC 1.     框架简介: 为打造一套集群高可用的框架,集成的技术目前比较成熟,稳定.相关的知识点在网络上也 ...

  6. mysql5.6 通用二进制安装

    mysql5.6 通用二进制安装: #卸载原有的mysqlyum remove mysql*ls /etc/my.cnf*mv /etc/my.cnf* /tmp/ #安装依赖包yum install ...

  7. CVE-2014-4113 windows通杀本地提权0day

    这个0day的发现挺有意思的,是老外CrowdStrike 发现的,被老外监测程序发现显示从WEBSHELL使用Win64.exe来提升权限. 原文地址:http://blog.crowdstrike ...

  8. php如何把文件上传到服务器上

    conn.php: <?php $id=mysql_connect('localhost','root','root'); mysql_select_db("db_database12 ...

  9. windows下Ruby开发环境搭建

    一.下载 下载RubyInstaller 二.安装 按照提示安装 安装完毕后,在cmd命令窗口,输入:ruby -v 查询rbuy版本:输入gem -v 查询gem版本 三.Ruby插件(Redis插 ...

  10. PHP 错误与异常 笔记与总结(17 )像处理异常一样处理 PHP 错误

    有两种方式可以在 PHP 中以异常的方式处理错误: ① PHP 内置的 ErrorException类(也是 Exception 类的子类) <?php function exception_e ...