有时候查询数据库的时候会发现(比如做重名检查的时候):数据库的查询时对大小写不敏感的,也就是 A 和 a 是一样的。

也就是说 select * from tabletest where name = 'a' 和 select * from tabletest where name = 'A'

两条 sql 语句的执行结果是一样的。

该怎么办呢。。。百度了一下,才了解到这关系到了 SQL SERVER 的排序规则。之前在安装 SQL SERVER 的时候曾经见到过这个选项,但是一直没明白是啥意思。。。

可能这个排序规则的翻译也比较迷惑,英文原文是  collation ,查了一下词典,好像意思是校对整理什么的,反正没看见直接有排序的意思。

不过这个东西也确实跟排序有关,比如有一系列的姓名(中文)数据,就可以指定按拼音排序(Chinese_PRC_)呀,还是按笔画排序(Chinese_PRC_Stroke_)什么的。。。

更多排序规则可查看:https://technet.microsoft.com/zh-cn/library/ms188046.aspx

这里是要为了解决大小写敏感的问题,好吧,也在上面那个网页中有解释,可以设置以下参数:

 

CaseSensitivity
    CI 指定不区分大小写,CS 指定区分大小写。
AccentSensitivity
    AI 指定不区分重音,AS 指定区分重音。
KanatypeSensitive
    Omitted 指定不区分假名类型,KS 指定区分假名类型。
WidthSensitivity
    Omitted 指定不区分全半角,WS 指定区分全半角。

 

设置排序规则的 sql 语句为:

COLLATE Chinese_PRC_CS_AS_KS_WS

前半部分是排序相关的,后半部分就是上面列的那四个选项了,可以根据需要随意添加修改。。。具体怎么加。。。

--要不就百度一下,或者看上面的MSDN链接里面的例子,不想写了。。。

MSDN:https://technet.microsoft.com/zh-cn/library/ff848763.aspx

排序规则可以对服务器进行设置,也可以对数据库进行设置,可以对数据表中的列进行设置,或者随用随设也可以

除了使用 sql 语句设置,还可以通过 SSMS 图形界面设置:

服务器设置可能比较麻烦,需要先停止服务器什么的,最好在安装的时候设置好吧

数据库就直接属性选项里面有下拉列表可以选择设置。

对数据表中的列,在表设计器下面的列属性上可以设置

嗯,还有图形界面可以选择选项(●'◡'●)

请原谅我写的简单。。。(完)

最新文章

  1. qt越来越好了
  2. IntelliJ IDEA 使用心得与常用快捷键
  3. dotnet core 初试两个小问题解决
  4. Jquery中bind和live的区别
  5. JSON的基本格式以及与JavaScript之间的转换
  6. 《Junit实战》读书笔记
  7. C++使用OLE高速读写EXCEL的源码
  8. iOS基础 - 完善键盘处理
  9. Varint code
  10. [LOJ3088][GXOI/GZOI2019]旧词——树链剖分+线段树
  11. nginx日志切割(logrotate或shell脚本)
  12. 西门子SCL读写DB数据
  13. 转:强制关闭.net程序
  14. react-demo
  15. Jordan 块的几何
  16. C# 每月第一天和最后一天
  17. Leetcode题库——8.字符串转为整数【##】
  18. php修改文件上传大小限制
  19. jQuery的搜索关键词自动匹配插件
  20. QT+VS中ui不能声明为指针?

热门文章

  1. bootstrap设计站点中加入代码高亮插件
  2. C++ 的 runtime exception是没有扩展性的
  3. 粒子滤波跟踪移动机器人(MATLAB Robotics System Toolbox)
  4. Ajax学习(二):模仿jQuery的Ajax封装工具
  5. 【php+微擎】微擎学习相关帮助推荐
  6. mysql配置和管理(转载)
  7. PHP哈希表碰撞攻击
  8. ios用户登录记住密码
  9. Python实现:十进制数与(2~16进制数)之间的互相转换
  10. 【DeepLearning】UFLDL tutorial错误记录