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

在"SELECT CASE“中使用"LIKE”不起作用- mysql

在"SELECT CASE"中使用"LIKE"不起作用是因为"LIKE"操作符在"SELECT CASE"语句中的使用方式与普通的"SELECT"语句有所不同。

在普通的"SELECT"语句中,我们可以使用"LIKE"操作符来进行模糊匹配,例如:

代码语言:txt
复制
SELECT * FROM table_name WHERE column_name LIKE '%keyword%';

这样可以查询出包含关键字的记录。

然而,在"SELECT CASE"语句中,"LIKE"操作符不能直接用于模糊匹配。"SELECT CASE"语句用于根据条件返回不同的结果,它的语法如下:

代码语言:txt
复制
SELECT CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE result
END

在这种情况下,我们无法直接在"SELECT CASE"语句中使用"LIKE"操作符来进行模糊匹配。

解决这个问题的方法是使用"LIKE"操作符的替代方法,例如使用"REGEXP"操作符来进行正则表达式匹配,或者使用"LOCATE"函数来查找子字符串。具体的方法取决于你的需求和数据库的支持。

对于MySQL数据库,可以使用"REGEXP"操作符进行正则表达式匹配,例如:

代码语言:txt
复制
SELECT CASE
    WHEN column_name REGEXP 'keyword' THEN result1
    ELSE result2
END

这样可以根据正则表达式匹配的结果返回不同的结果。

另外,你也可以使用"LOCATE"函数来查找子字符串,例如:

代码语言:txt
复制
SELECT CASE
    WHEN LOCATE('keyword', column_name) > 0 THEN result1
    ELSE result2
END

这样可以根据子字符串是否存在于列中返回不同的结果。

需要注意的是,以上方法只是解决在"SELECT CASE"语句中使用"LIKE"操作符的问题,并不能保证解决你的具体问题。如果你能提供更多的细节和代码示例,我可以给出更具体的解决方案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Mysql Case使用介绍

工作中经常需要写各种 sql 来统计线上的各种业务数据,使用 CASE 能让你的统计事半功倍,如果能用好它,不仅SQL 能解决的问题更广泛,写法也会漂亮地多,接下来让我们看看 CASE 的各种妙用吧,开始之前我们简单学习一下...的用法详解 知道了 CASE 的用法,接下来我们来举几个例子来看下 CASE 的几种妙用,首先让我们准备两张表(字段设计还有优化的空间,只是为了方便演示 CASE使用),用户表(customer)...COUNT(*) FROM customer WHERE district IN ('杭州','义乌') -- 统计海南用户数 SELECT COUNT(*) FROM customer WHERE...district IN ('海口', '三沙') 进阶用法:使用 CASE 来统计,一句 sql 搞定 SELECT CASE district when '义乌' then...CASE 给我们带来了很大的便利,不仅逻辑上更为紧凑,而且相比于多条 sql 的执行,使用CASE WHEN」一行就能解决问题,方便了很多

1.1K20

SELECT 使用 FROM 子句

Oracle 23c中提供了一个非常有价值增强功能。没有 FROM 子句的情况下运行 SELECT 表达式查询可以帮助开发人员执行计算、检索系统函数或生成临时结果,而无需引用任何特定的表。...在这之前,如果想只是单纯的计算而不从表获取数据,往往需要借用 DUAL 表来达到目的。现在可以跟 MySQL 或者 PostgreSQL 一样,直接省掉 From 子句了。...用途:Dual表最常见的用途之一是SQL查询执行一些函数、表达式或检索常量。...例如,您可以使用它来检索系统级函数的结果,比如 SELECT SYSDATE FROM DUAL; 将返回当前日期时间。 数据:Dual表只有一行数据,因此不会存储实际的数据。...Dual表是Oracle数据库中一个小而简单的系统表,主要用于查询执行一些操作或获取值,而不涉及实际的数据检索。

36030

一文搞懂select语句MySQL的执行流程!

频繁使用select语句 为了更好地贯穿全文,这里先来列举一个最简单的select查询语句,例如:查询user表id为1001的用户信息,使用下面的SQL语句进行查询。...select * from user where user_id = 1001; 当我们MySQL的命令行输入上述SQL语句时,这条SQL语句到底MySQL是如何执行的呢?...MySQL逻辑架构 介绍select语句MySQL的执行流程之前,我们先来看看MySQL的逻辑架构,因为任何SQL语句的执行都离不开MySQL逻辑架构的支撑。...往往实际的工作过程,我们会使用数据库连接池的方式,将数据库的连接缓存起来,这就意味着我们是使用长连接与MySQL进行交互的。...但是使用长连接连接MySQL也会有一个问题:那就是有时候会发现MySQL占用的内存涨得特别快,这是因为MySQL执行的过程使用的临时内存是连接对象里面进行管理的。

3.8K20

MySQL】执行计划 explain 及 一条select语句MySQL的奇幻之旅

文章目录 示例 解释 一条select语句MySQL的奇幻之旅 示例 explain select * from emp; 解释 列(Column) 含义(Meaning) id The SELECT...index_merge:查询语句使用了俩个以上的索引,常见使用and、or会出现,官方文档将此类型放在ref_or_null之后,但是很多的情况下由于读取索引过多性能有可能还不如range unique_subquery...或索引组合),但不是一个主键或唯一索引 range:索引范围查询,常见于使用 =, , >, >=, , BETWEEN, IN()或者like等运算符的查询...key:上面写着 rows:这是mysql估算的需要扫描的行数(不是精确值)。这个值非常直观显示 SQL 的效率好坏, 原则上 rows 越少越好。 extra:大多数情况下会出现以下几种情况。...:对数据使用一个外部的索引排序 Using index condition:使用了索引下推 一条select语句MySQL的奇幻之旅 注:MySQL8.0起以取消图中第九步(查询缓存)原因:把查询语句作为

1.2K20

.Net Core 2.0使用MySQL

之前,我简单的介绍过.net core中使用Mongodb(见文章《.Net Core系列教程(三)——使用Mongodb》),也使用过PostgreSQL(但是没有写文章介绍怎么使用,只是文章《...下面说下怎样.net core中使用MySQL,这个问题网上随便一搜有很多,我的当然也是从网上搜索来的,只是用自己的语言再次整理下而已。...使用MySQL时,需要使用MySQL的驱动,之前MySQL官方没有出驱动的时候,需要使用第三方的,不过现在有官方的驱动,还是尽量使用官方的吧,我这里也以官方的为准。...需要注意的是,MySQL.Data需要安装最新版的(现在是6.10.3-rc版),旧版本不支持.net core 2.0 先在appsettings.json文件,添加数据库的配置: "ConnectionStrings...控制器,添加: private readonly IOptions _settings; 之后控制器的构造函数: public NewsController

1.5K50

CentOS7使用Docker安装MySql

上面是百度百科Docker的介绍,因为Docker的诸多好处,准备在产品中使用,最近做了些技术的预研,本文主要介绍CentOS7使用Docker来安装MySql。...环境 CentOS:7.4 Docker: 1.13.1 MySql: 8.0.11 下载镜像 https://hub.docker.com,搜索mysql,结果如下: ?...mysql数据库 use mysql 查看下用户信息 select user,host from user ?...执行下面命令重启MySql容器,容器重启的过程MySql也就重启了 docker restart mysqltest 此刻我们使用Sqlyog来连接该容器了测试下,发现会报如下错误 ?...总结 本文介绍的方法虽然最终可以连接成功,但MySql的配置文件和数据都在容器内,如果由于配置原因导致容器无法启动,数据内容将会丢失,所以更好的做法是将配置文件和数据存储挂接到宿主机,下一篇讲介绍怎样

1.3K20

centos安装mysql_linux下pycharm使用

---- centos安装pycharm ---- #全部过程如下: 1.pycharm官网下载软件(linux版),我下载的是专业版for linux http://www.jetbrains.com...download/#section=linux 文件名为:pycharm-professional-2018.3.4.tar 2.centos是阿里云的服务器,如果是虚拟机也是一样操作,然后我是先使用...WinScp将刚才下载的文件传入到centos的root目录下(选中windows的文件直接拖拽到centos),如图所示 3.使用Xshell 6远程连接服务器,进行安装操作:首先在root...目录下使用ls查看软件的压缩包是否存在,然后直接解压 tar -xf pycharm-professional-2018.3.4.tar.gz 然后输入cd pycahrm-2018.3.4进入目录...Activation code的输入框输入激活码,即可,修改如下:/下输入vim /etc/hosts,按a进入编辑模式,本文后添上 0.0.0.0 account.jetbrains.com 保存退出即可

1.2K20

mysql优化总结

01 JOIN 代替子查询NOT IN NOT IN 的使用 DELETE FROM customerinfo WHERE CustomerID NOT in (SELECT CustomerID...SELECT * FROM inventory WHERE Amount<24*7; 上面的两个查询也是返回相同的结果,但后面的查询将比前面的一个快很多 03 Like关键字与通配符的使用 搜索字符型字段时...,我们有时会使用 LIKE 关键字和通配符,这种做法虽然简单,但却也是以牺牲系统性能为代价的。...例如下面的查询将会比较表的每一条记录 SELECT * FROM books WHERE name like "MySQL%" 但是如果换用下面的查询,返回的结果一样,但速度就要快上很多.....SELECT * FROM books WHERE name>="MySQL"and name<"MySQM" 最后,应该注意避免查询MySQL进行自动类型转换,因为转换过程也会使索引变得不起作用

29510

MySQL常见基础用法补充

上节课给大家介绍了MySQL中常见的基础用法 MySQL常用基础用法集锦,这节课我们准备对上节课的内容做个补充,本期内容我们想跟大家聊聊MySQL模糊匹配关键字LIKE以及CASE WHEN的基本用法。...1、模糊匹配LIKE MySQL LIKE 关键字主要用于搜索匹配字段的指定内容。...当不知道真正字符或者懒得输入完整名称时,可以使用通配符来代替一个或多个真正的字符串。 LIKE 关键字支持百分号“%”和下划线“_”通配符。...2、CASE WHEN MySQL,一般来说CASE WHEN 用法算是进阶用法,但在日常工作,它也是非常常用的,其语法格式如下: CASE WHEN condition1 THEN result1...select resp_name,count(PassengerId) from ( select PassengerId,NAME,case when name like "%Mr%" then

60920

设置MySQL数据库不区分大小写

我们大家可能都碰到过这种情况:Linux下,MySQL的表名区分大小写,而在Windows下是不区分,从Windows下导出的数据脚本中使用的是小写,而Hibernate生成的SQL中表名是大写的,所以查不出数据...这个时候怎么办呢,显然改程序是不行的,时间上也不允许,所以只能设置MySQL数据库不区分大小写了,大家看以下步骤: 1、查询MySQL是否设置了区分大小写 show variables like "%case...2、解决方法 一 Ubuntu环境下: vim /etc/mysql/my.cnf 在这个文件的[mysqld]的后面加lower_case_table_names=1 ?...注意:一定要在mysqld下面加上这个语句,别的下面不起作用!!! ? 然后重启MySQL环境即可。...; 4、变量名也是严格区分大小写的; MySQLWindows下都不区分大小写。

15.8K21

MySQL,不要使用“utf8”。使用“utf8mb4”

我将在这里做一个彻底的陈述:目前使用“utf8”的所有 MySQL和MariaDB用户实际上应该使用“utf8mb4”。没有人应该使用“utf8”。 什么是编码?什么是UTF-8?...UTF-8,像“C”这样的常见字符占8位,而像“其他字符需要16或24位。像这样的博客文章UTF-8占用的空间比UTF-32少四倍。所以加载速度快四倍。...MySQL开发人员2002年3月28日的MySQL 4.1的第一个预发行版本编写了RFC 2279 。...然后9月对MySQL的源代码进行了一次神秘的,一字节的调整:“UTF8现在只能处理3个字节的序列。” 是谁提交了这个?为什么?我说不出来。MySQL的代码库采用Git时似乎丢失了旧的作者名称。...(MySQL过去常常使用BitKeeper,就像Linux内核一样。)2003年9月左右的邮件列表没有任何内容可以解释这一变化。 但我可以猜到。

95220

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券