SQL Server ->> 字符串对比
今天同事问我关于SQL Server在字符串尾随着空格时进行字符串对比的做法。关于这个问题正好在这里讲一下,就是SQL Server是按照ANSI/ISO SQL-92中的定义做字符串对比的。
在KB316626中已经做了阐述,就是SQL Server对待这种有尾随空格的字符是会做自动截断尾随空格再对比的。
这里做个实验吧
SELECT * FROM (
SELECT 'A' A UNION ALL
SELECT 'A ' UNION ALL
SELECT 'A ' UNION ALL
SELECT 'A ') A
WHERE A = 'A' SELECT A, COUNT(*) FROM (
SELECT 'A' A UNION ALL
SELECT 'A ' UNION ALL
SELECT 'A ' UNION ALL
SELECT 'A ') A
GROUP BY A SELECT A FROM (
SELECT 'A' A UNION ALL
SELECT 'A ' UNION ALL
SELECT 'A ' UNION ALL
SELECT 'A ') A
WHERE A like 'A %'
上面这段代码会返回下面的结果

可以看到SQL Server在做字符串对比和排序(其实排序也需要做字符串对比)是会截断尾随空格的,而在做LIKE匹配的时候则例外。
那如果是空格开头呢?这个肯定是没有截断起始空格的。再做一个实验。
SELECT * FROM (
SELECT ' A' A UNION ALL
SELECT 'A ' UNION ALL
SELECT ' A ') A
WHERE A = 'A' SELECT A, COUNT(*) FROM (
SELECT ' A' A UNION ALL
SELECT 'A ' UNION ALL
SELECT ' A ' UNION ALL
SELECT ' A ') A
GROUP BY A
上面这段代码会返回下面的结果

SQL Server ->> 字符串对比的更多相关文章
- sql server 字符串替换函数REPLACE
sql server 字符串替换函数REPLACE函数的使用 <pre name="code" class="sql">--参数1:需要替换字符的母 ...
- sql server字符串的类型
sql server字符串分为不同的类型,下面就将为您介绍几个sql server字符串的常见类型,希望对您学习sql server字符串能有所帮助. nchar 此数据类型可存储1~4000个定长U ...
- mysql与sql server参照对比学习mysql
mysql与sql server参照对比学习mysql 关键词:mysql语法.mysql基础 转自桦仔系列:http://www.cnblogs.com/lyhabc/p/3691555.html ...
- sql server 字符串转成日期格式
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- [转]SQL Server字符串处理函数大全
select语句中只能使用sql函数对字段进行操作(链接sql server), select 字段1 from 表1 where 字段1.IndexOf("云")=1;这条语句不 ...
- SQL Server字符串左匹配
在SQL Server中经常会用到模糊匹配字符串的情况,最简单的办法就是使用like关键字(like语法http://msdn.microsoft.com/en-us/library/ms179859 ...
- SQL SERVER字符串函数
本篇文章还是学习<程序员的SQL金典>内容的记录,此次将讲解的是SQL SERVER的字符串函数. 其实数据库跟程序语言库一样,都会集成很多可以使用的API.这些API,如果你熟悉的话,将 ...
- Sql Server 字符串操作总结
SQL Server 支持两种字符数据类型---常规和Unicode:常规类型包括char 和varchar:unicode包括nchar 和nvarchar.常规的每个字符占用一个字节存储,而uni ...
- sql server 字符串函数大全
平常会用到一些函数处理字符串,用的不算频繁,所以每次用到的时候就忘记了,这次在网上找了一篇文档,担心突然某一天这篇文章找不到了,然后就把文章的内容复制了一份: /* 1,ASCII返回字符表达式中最左 ...
随机推荐
- ggplot你不知道的细节
例一 Michaelis-Menten动力学方程 这个例子中采用出自文献中的一组有关于浮萍氮摄取的数据,共2两个变量8个观测值,其中底物浓度与浮萍的氮取速率之间可以通过M-M动力学方程来进行描述.在这 ...
- [转] Linux命令——timeout
[From] https://blog.csdn.net/xiaqunfeng123/article/details/54315390 Linux命令——timeout 命令简介 运行指定的命令,如果 ...
- Axis 生成客户端client stub文件
[转自] http://blog.csdn.net/qiao000_000/article/details/5568442 开发前,有个同事先给我们不熟悉Web Service的程序员进行了一些培训, ...
- 批量删除Maven中失败的下载项
[摘自] http://stackoverflow.com/questions/5074063/maven-error-failure-to-transfer Remove all your fail ...
- webAPI过滤器返回数据加密
项目需求: 接口返回的数据,存在一些敏感信息,不希望其他用户看到,将Data进行加密传输 代码如下: public class EncryptDataFilterAttribute : ActionF ...
- iView 初识
iView和element-UI在table这块有有相似之处,但是与layui有不同的地方 在data数据这里有明显的不同,在iView中data数组下每个元素对象对应一行的数据:而layui中,da ...
- Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0问题解决 ojdbc包pom.xml出错
<!-- 添加oracle jdbc driver --> <dependency> <groupId>com.oracle</groupId> < ...
- oracle 错误实例分析(ORA-01078)
01,问题描述 心血来潮想看一下启动数据库的alert log.然后把数据库给关闭了,同时也在监听日志文件 下面可谓是详细的描述了整个关机过程,也看到了无数的error [root@node1 ...
- 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap
不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...
- 深入理解jQuery插件开发【转】
如果你看到这篇文章,我确信你毫无疑问会认为jQuery是一个使用简便的库.jQuery可能使用起来很简单,但是它仍然有一些奇怪的地方,对它基本功能和概念不熟悉的人可能会难以掌握.但是不用担心,我下面已 ...