首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql 模糊查询实现不区分大小写

需求说明: 有时候,我们需要从数据库中模糊查询,但是字母有大写也有小写。 1:在执行查询的时候,需要忽略大小写。 2:以输入字母开头进行查询的 创建表: ? 请点击此处输入图片描述 ?...请点击此处输入图片描述 假设用户现在要查询name是D或者d开头的数据怎么? 解决需求一,忽略大小写的。可以先查询大写,在查询小写。然后union 下 先查询出所有小写字母d开头的: ?...在查询出所有大写字母D开头的 ? 请点击此处输入图片描述 ? 使用union 进行连接。 ? 请点击此处输入图片描述 ? 当然这样也可以得到最终的结果。但是这样执行从效率上来说很不好。...解决需求二:以输入字母开头进行模糊查询 在上面语句中我们可以看到使用的是‘d%’或者是'D%'这样看上去好像有点不是很好。...综上要想解决并优化实现查询 D或者d开头的可以使用到以下三个函数: 函数一:upper(keyword )。大写函数 函数二:lower(keyword )。

4.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

Django + MySQL 查询不区分大小写问题

Django + MySQL 查询不区分大小写问题 Posted May 29, 2018 最近发现一个现象是测试环境的 sqlite 是可以区分大小写的。...起初我查询了官方文档, 得到指引使用__exact方法. 即: Python Company.objects.filter(name__exact='teambition') 但是无效!!!...原来是字符集校对规则的问题, utf8_general_ci 不区分大小写, 可以改成utf8_bin(将字符串中的每一个字符用二进制数据存储,区分大小写。)...或者 utf8_general_cs(cs为case sensitive的缩写,即大小写敏感). 但是, 由于我程序段没有操作数据库的权限, 所以没有去 alter 已经有的 TABLE。...我找到另外的一种解决方式 通过 DJANGO ORM 的extra, 在匹配语句上面加上BINARY来区分大小写.

4K20

MySql查询不区分大小写解决方案

背景 当我们输入不管大小写都能查询到数据,例如:输入 lingyejun 或者Lingyejun ,LingYeJun都能查询同样的结果,说明查询条件对大小写不敏感。...做个实验:直接使用客户端用sql查询数据库。 发现的确是大小不敏感 。 通过查询资料发现需要设置collate(校对) 。 ...当字符设置为不区分大小写时的解决办法: 1.可以将查询条件用binary()括起来。 ...COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL; 解决方案二: mysql查询默认是不区分大小写的...'; select * from some_table where str='LINGYEJUN'; 得到的结果是一样的,如果我们需要进行区分的话可以按照如下方法来做: 第一种方法: 要让mysql查询区分大小写

1.6K20

文件大小写引发的问题

可是我看了一下代码仓库中的文件还在: 之前确实改了 Ruler 组件,但是为什么说找不到呢?...git 忽略了文件大小写的更改。...经过一番搜索,了解到 git 项目有相关的配置,我特地初始化了一个空的 git 仓库,进入 .git 目录: 打开 config 文件: 可以看出 git 默认是忽略大小写的,那我把它改为 false...改完后把代码推到仓库却看到两个文件: 然后我又看了下文档: 看来官方还是不推荐直接改 ignorecase 的默认值,那我们该如何使文件大小写更改能被 git 识别呢?...虽然问题解决了,但是我没有找到更好的规避方法,下次可能还会直接修改文件名而不是通过 git 命令,若有什么更好的方法,请留言!

71820

Elasticsearch 如何实现查询聚合不区分大小写

1、实战问题 最近社区里有多个关于区分大小写的问题: 问题1:ES查询和聚合怎么设置不区分大小写呢? 问题2:ES7.6 如何实现模糊查询不区分大小写?...2、问题拆解 2.1 拆解一:如果默认分词方式,能区分大小写的吗? 是的,默认分词器是Standard 标准分词器,是不区分大小写的。...这里初步结论是:standard 标准默认分词器可以实现区分大小写。 但是,我们再看一下聚合呢?...keyword 类型属于精准匹配,也就是说:单纯的keyword 类型没法实现大小写区分。 进一步小结: 我们上面的组合multi-field 方式,并没有解决检索和聚合区分大小写的问题?...由于写入阶段和检索阶段:normalizer 都生效,所以就实现了我们想要的不区分大小写的结果。 5、小结 如果官方文档熟悉,我们的示例,实际就是官方文档:normalizer 的举例。

7.2K20

Git - 文件大小写不敏感,怎么删除文件

问题 默认的 git 对文件名是大小写是不敏感的,因此需要设置下。 对于这个问题,没有使用 git rm 来删除 repo 的文件,再次上传之后,怎么移除这个文件。...解决办法 如果 git 配置没有设置大小写敏感的话,直接复制下面的命令即可 git config core.ignorecase false 对于修改之前的文件,远端仓库没有删除,本地是手动删除。...解决办法就是,先备份本地修改后的文件到其他地方,这步非常重要,如果没有剪切或者备份的话,执行 git status 根本没有任何信息提示。...移到其他地方之后,执行git status,就可以看到文件提示已经删除了。...最后 git checkout xxx之前备份或者剪切的文件即可,手动copy回来也行。

1.6K20

MYSQL 从正则查询 扯到 查询中的大小写敏感的解决方法

其实随着MYSQL8 的到来,越来越多以前不能在SQL 端执行的语句,可以在MYSQL中执行,例如CTE ,窗口函数,等等,而查询中有的是使用like来查,而LIKE 的查询中有一些查询比较复杂,而正则表达式在...SQL 查询中的使用可以帮助一些复杂查询的表达和实现。...,会将他们一股脑的都查询出来 select * from employees where first_name = 'georgi'; 我们使用上面的语句来查询,结果可想而知,会不区分大小写来将所有的...如何让目前的正则表达式能区分出大小写 我们可以在 你要查询的字段名前加上 binary 然后匹配正常的正则,你就可以查到你要查的数据了,请见上图 那么问题来了,题目说扯到大小写敏感,你上面那个能算是扯到大小写敏感吗...,如果我不用正则表达式,或者我不愿意在字段前面加binary ,你怎么解决我大小写敏感的问题。

2.6K10

Linux用户登录日志查询  # 1 utmp、wtmp、btmp文件

# 1 utmp、wtmp、btmp文件 Linux用户登录信息放在三个文件中: 1  /var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime...这三个文件都是二进制数据文件,并且三个文件结构完全相同,是由/usr/include/bits/utmp.h文件定义了这三个文件的结构体。...日志文件的轮循压缩等设置存放在独立的配置文件中,它(们)放在/etc/logrotate.d/目录下,它会覆盖缺省设置。 如果不想记录相关信息,则可以直接将相关文件删除即可。...如果系统不存在该文件,则需要在此路径touch一个文件就可以继续记录相关信息了。...who命令强大的一点是,它既可以读取utmp文件也可以读取wtmp文件,默认没有指定FILE参数时,who查询的是utmp的内容。

18.4K30

Linux 查询应用进程号、端口、文件(知道其中之一查询其他)

常见的场景 查询应用程序的端口号(懒得查看配置文件),就可以通过查找进程号,再找端口号; 知道应用程序的访问 url,在服务器通过端口号,反查进程号、文件等; 查询某个文件是否被应用程序占用。...27 161:08 java -jar jenkins.war --webroot=/home/jenkins/war --prefix=/jenkins 6 7# java 应用可以通过 jps 命令查询...8$ jps -mlv | grep jenkins 923288 jenkins.war --webroot=/home/jenkins/war --prefix=/jenkins 查询端口对应的进程号...8tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 23288/java 查看应用进程占用的文件信息...1$ lsof -p 查看文件被那个进程占用 1$ lsof jenkins.log 2COMMAND PID USER FD TYPE DEVICE SIZE/OFF

3.1K10

mysql linux环境下表名区分大小写问题

linux环境下表名是区分大小写的 问题 执行SHOW VARIABLES LIKE '%lowercasetable_names%' 输出结果: ?...其中 0:区分大小写,1:不区分大小写 解决办法 在mysql的配置文件中添加 lowercasetable_names=1 实际解决方式 先查找mysql使用的配置文件 添加配置 重启mysql 查看是否生效...于是,在/etc目录下新建my.cnf文件文件中的内容为: [mysqld] character_set_server=utf8 init_connect='SET NAMES utf8' basedir...=/work1/soft/mysql datadir=/work1/soft/mysql/data socket=/work1/soft/mysql/mysql.sock #设置忽略大小写(简单来说就是...sql语句是否严格),默认库名表名保存为小写, 不区分大小写 lower_case_table_names=1 # 开启ip绑定 #bind-address = 0.0.0.0 [mysqld_safe

2.3K20
领券