当前位置: 首页 > news >正文

SQL点滴34—SQL中的大小写

原文:SQL点滴34—SQL中的大小写

默认情况下,SQL Server不区分大小写,如果数据表TEST的TNAME列中有数据“abcd”和“Abcd”, 如果使用查询语句:select * from test  where  tname  like 'a%',则查询的结果会把上面的两条记录都查询出来,这一点上和Oracle有区别.

 

 可以通过设置排序规使其区分大小写,可以分别在创建数据库、修改数据库、创建表的字符型列(char\varchar\nchar

\nvarchar等)时指定排序规则来实现。如

create database test  COLLATE  Chinese_PRC_CS_AS   --这样创建的数据库中区分大小写

alter database test  COLLATE  Chinese_PRC_CS_AS   --修改后的数据库中区分大小写

Create table test(tid int primary key,tname varchar(20) collate chines_prc_cs_as) --这样创建的tname列在使用SELECT 语句时就可以区分大小写了。

 

1.在创建数据库时,指定要区分大小写,或者后期再做更改也可以

alter database dbname collate chinese_prc_cs_as

2.在创建表时,指定要区分大小写,或者后期再做更改也可以

alter table tbname collate chinese_prc_cs_as

3.如果只是想使用一次,不想修改整个表或整个数据库。

  3.1可以在使用时,将查询或使用到的字段,转成二进制形式进行比较就可以了(大小写的二进制形式肯定是不一样的~)

  3.2可以在查询或使用时,指名使用 简体中文做为数据库的查询规则。 指定SQL server的排序规则 Chinese_PRC指的是中国大陆地区,如果是台湾地区则为Chinese_Taiwan CI指定不区分大小写,如果要在查询时区分输入的大小写则改为CS AS指定区分重音,同样如果不需要区分重音,则改为AI COLLATE可以针对整个数据库更改排序规则,也可以单独修改某一个表或者某一个字段的排序规则,指定排序规则很有用,比如用户管理表,需要验证输入的用户名和密码的正确性,一般是要区分大小写的。

使用collate:

select * from 表 where 字段='King' collate chinese_prc_cs_as

或者 转换为varbinary

select * from 表 where convert(varbinary(1000),字段)=convert(varbinary(1000),'King')

相关文章:

  • Windows 10下安装配置Caffe并支持GPU加速(修改版)
  • mac homebrew安装
  • 每天10道编程题-第四天
  • 【连载】物联网全栈教程-从云端到设备(十二)---最简单的单片机上云方法!...
  • Tomcat源码分析之—具体启动流程分析
  • 集合,映射,流程控制, 知识点。
  • java7 concurrency cookbook(第三章)
  • jquery获取表单数据方法$.serializeArray()获取不到disabled的值
  • Apache RewriteCond RewriteRule
  • 手摸手,带你用 vue 动画实现原生 app 切换效果,丝滑般的体验
  • @font-face 用字体画图标
  • DOM笔记(四):HTML 5 DOM复杂数据类型
  • webpack Cannot find module 'webpack/schemas/WebpackOptions.json'
  • VMware vCenter Converter 组件
  • 鱼鹰软件签约中影集团电影数字制作基地
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • fetch 从初识到应用
  • Git同步原始仓库到Fork仓库中
  • If…else
  • JavaScript设计模式之工厂模式
  • JS函数式编程 数组部分风格 ES6版
  • mockjs让前端开发独立于后端
  • PermissionScope Swift4 兼容问题
  • React-flux杂记
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • web标准化(下)
  • 阿里云应用高可用服务公测发布
  • 从零开始的无人驾驶 1
  • 坑!为什么View.startAnimation不起作用?
  • 数组的操作
  • 通过npm或yarn自动生成vue组件
  • 新书推荐|Windows黑客编程技术详解
  • 译米田引理
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • MPAndroidChart 教程:Y轴 YAxis
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 数据可视化之下发图实践
  • ​2020 年大前端技术趋势解读
  • ​学习一下,什么是预包装食品?​
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • $().each和$.each的区别
  • (笔试题)合法字符串
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转) Face-Resources
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • ****Linux下Mysql的安装和配置
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道