关于数据库大小写的问题
数据库大小写区分
前提:
在数据库中进行查询时,默认情况下是不区分大小写的。但是现在在备品备件库存的计算中,备件规格字段是需要区分大小写的,所以下面讲解在mysql、sql server以及oracle中如何区分大小写。
一、 mysql
在mysql默认的情况下,下面两条查询的结果是一样的
SELECT specifications FROM `t02_spareparts` where specifications='dn100';
SELECT specifications FROM `t02_spareparts` where specifications='DN100';
在specifications字段的编码为utf8的前提下,有以下几种方法:
1、 mysql默认的字符检索策略:utf8_general_ci,表示不区分大小写;utf8_general_cs表示区分大小写,utf8_bin表示二进制比较,同样也区分大小写 。创建表时,直接设置表的collate属性为utf8_general_cs或者utf8_bin;如果已经创建表,则直接修改字段的Collation属性为utf8_general_cs或者utf8_bin。
ALTER TABLE t02_spareparts CHANGE specifications specifications VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin;
2、
SELECT specifications FROM `t02_spareparts` where BINARY specifications='DN100';
在where条件加上BINARY。
二、 sql server
在sql server默认的情况下,下面两条查询的结果是一样的
SELECT 备件名称,[规格型号] FROM [dbo].[备件入库单_明细]
where 备件名称='碳钢弯头'
and 规格型号 = 'φ89';
SELECT 备件名称,[规格型号] FROM [dbo].[备件入库单_明细]
where 备件名称='碳钢弯头'
and 规格型号 = 'Φ89';
解决方法:
1、 字段Collation属性从“”改为“Chinese_PRC_CS_AS”。
2、
SELECT 备件名称,[规格型号] FROM [dbo].[备件入库单_明细]
where 备件名称='碳钢弯头'
and 规格型号 = 'φ89' COLLATE Chinese_PRC_CS_AS;
在字段值后面加上COLLATE Chinese_PRC_CS_AS
三、 Oracle
oracle默认区分大小写。如果不要区分,就要额外的设置。
解决方法:
ALTER SESSION SET NLS_COMP=ANSI;
ALTER SESSION SET NLS_SORT=binary_ci;
关于数据库大小写的问题相关推荐
- MySQL 数据库大小写的问题
引言 后端开发,会时不时地和数据库打交道,mysql 数据库作为开源数据库,市场占有率相当高,很有研究和学习的价值. 在之前的博客中也提到了 mysql 数据库的一些常用的操作和介绍,在这里聊一聊数据 ...
- linux下的mysql数据库大小写问题
最近做一个java项目,开发环境是安装在windows下,使用mysql没有任何问题,部署环境采用linux,用mysqldump把数据库导入linux后程序报找不到数据表,很郁闷,google一番后 ...
- linux下改变Mysql数据库大小写的设置
1,查看大小写参数 show variables like '%table_names' 2,如果lower_case_table_names参数为1,说明不区分大小写了 3,lower_case_t ...
- MySQL数据库忽略大小写
首先我们需要明白的一点就是: Linux 系统默认情况下MySQL数据库是区分大小写的, Windows系统默认情况下MySQL数据库是不区分大小写的. 1. 查看数据库大小写配置 show vari ...
- PowerDesigner 表名、字段大小写转换
面对不同的数据库大小写规范,一个个字段修改太麻烦了,如果使用了PowerDesigner设计,有比较简单的方法.进入PowerDesigner,打开一个PDM,在菜单栏找到:Tools – Excut ...
- jpa 人大金仓数据库方言_KingBaseV8人大金仓数据库 | 大小写敏感问题
1.查询数据库大小写是否敏感 show case_sensitive; 如果显示 on,为大小写敏感:显示 off ,为大小写不敏感. 2.大小写是否敏感,对建表和查表的影响 - 若大小写敏感 (1) ...
- mysql 库名大小写_MySQL 库名、表名、字段名区分大小写吗???
上周末写了一篇MySQL where查询字段值不区分大小写的文章(MySQL的where查询不区分字段大小写!!!),有个兄弟留言说经常遇到库名.表名.字段名的大小写问题.我想既然研究了大小写的问题, ...
- KINGBASE人大金仓数据库安装配置手册
1.上传安装包 安装包和license文件上传到/home/setup/kingbase目录 2.操作系统配置 关闭防火墙 中标麒麟: systemctl stop firewalld systemc ...
- mysql语句大小写要求_mysql踩坑(一)-大小写规则
mysql大小写 在实际的项目中,大家或多或少都会遇到过mysql数据库大小写的问题.下面,博主将简单的介绍一下mysql数据库的大小写问题. sql关键字和函数名 在mysql数据库中,sql关键字 ...
最新文章
- MQTT topic匹配规则
- 从 StarCraft 2 Installer.exe 中提取种子文件
- 安装caffe(CPU版本)的一些参考和问题的解决
- 选择性模糊及其算法的实现。
- Linux学习之crontab定时任务
- mongodb转json
- 这 6 个 Spring Boot 项目够经典
- python作业网站_python大作业
- 前端小白在asp.net core mvc中使用ECharts
- Python html 代码转成 word(docx)
- 20150318知识小结
- 01-02 Linux常用命令-文件处理
- php7 memcached dll,php7.1和7.2的memcache.dll文件
- Dangling Javadoc comment
- word-wrap和word-break,white-space的区别
- 淘宝数据库,主键如何设计以及自增ID的问题
- c语言date用法,c语言getdate()和gettime()的用法
- 电脑wps可以语音录入吗_wps语音输入功能在哪
- python获取虎牙弹幕_python实现虎牙直播弹幕
- zb怎么做渲染图_ZBrush渲染效果使用图文教程
热门文章
- LINUX:Ubuntu重装虚拟机后无法拖拽文件的解决方法
- visio画等分树状图
- 新松机器人:【示教编程】+【PC离线编程】+【PLC远程IO】相结合
- oracle数据库恢复aul_ORACLE恢复神器之ODU/AUL/DUL
- 什么情况下,微信聊天里会出现【对方正在输入】,原来如此
- 使用Ezy-Slice插件实现类似Beat Saber的模型切割效果(一)
- MCE公司:RIP1 激酶抑制剂可应用于自身免疫性脑脊髓炎的治疗
- qcon_从QCon San Francisco 2008中学到的主要知识点和教训
- Arcgis 地理坐标系转投影坐标系(WGS84转CGCS2000)
- 更新xcode至12.3,编译报错Building for iOS, but the linked and embedded framework ‘xxx.framework’ was buil...