最近工作中遇到了,用截取字符串查询数据库。刚开始是通过字符串截取后放入到like模糊查询语句中,后来发现这样查询是不正确的。
subString 是在数据库中的字段中截取某一段,它是有位置顺序的。而like 却没有也就是说要符合 你传入的字符串,不管它在数据库某字段某记录中的什么位置都可以匹配查询,这样like实际查询到的数据要比subString查询到的数据大。
subString是 数据库的精确查询 ,like是模糊查询~不要混淆了~
例如:
java代码:
String str = "123456789";
str.subString(0,4)得到的字符串为1234
把1234传入数据库查询语句中
数据库语句:
String sql1 = "select user from user where user like '%1234%' ";
String sql2 = "select user from user where user substring(user,1,4) ";
字段 user
记录 1234 56789
----
1234 96325
----
963 1234 45
----
98465 1234
----
通过这两个sql语句,都可以因 截取字符的条件 获得查询信息 ,但sql1会查到4条记录,sql2却只能查到2条记录。
分享到:
相关推荐
* 字符串函数:Presto SQL 和 MySQL SQL 都支持字符串函数,如 `substring()`、`substring_index()`、`regexp_like()` 等。 * 数学函数:Presto SQL 和 MySQL SQL 都支持数学函数,如 `round()`、`coalesce()` 等。 ...
- **MySQL**与**StarRocks**:阿里云服务器CentOS系统,奔腾双核2.5GHz CPU,4GB内存。 测试工具采用Navicat进行数据操作与结果记录。 #### 测试一:基本性能对比 - **SQL Server** - **执行语句**:`SELECT ...
还可以使用`LIKE`或`SUBSTRING`函数来按特定级别的行政区划码进行筛选。 6. 索引优化:为了提高查询性能,可以在`code`字段上创建索引,特别是当频繁进行按行政区划码查询时。 7. 更新维护:行政区划码可能因行政...
在"mysql实现自动创建与删除分区"的场景中,我们通常会使用线性时间戳(如日期或时间戳)作为分区键。例如,可以创建每年、每季度或每月的分区,以适应数据的增长和查询的需求。 **创建分区** 创建分区通常在创建表...
在这个“mysql语句集合包括模糊查询索引函数”中,我们将深入探讨SQL中的关键概念,特别是与模糊查询、索引和函数相关的知识。 首先,SQL语句主要分为四大类:SELECT(查询)、INSERT(插入)、UPDATE(更新)和...
以上是关于 MySQL 模糊查询的一些基础概念和技巧,但请注意,本话题与提供的文件内容不符。文件内容主要涉及 PHP 语言,包括变量命名规范、数据类型、单引号和双引号的区别以及数据类型转换等。如果你需要关于 PHP ...
字符串函数(LIKE, CONCAT, SUBSTRING, REPLACE)处理文本数据;数学函数(ABS, SQRT, PI)进行数值计算;日期和时间函数(DATE, TIME, NOW, DATE_ADD, DATE_SUB)处理日期和时间值。 4. **字符类型**:在MySQL中,...
MySQL是一种关系型数据库管理系统,广泛应用于Web应用程序的开发中。掌握MySQL的常用SQL语句是开发者的必备技能。本文将对常用的MySQL SQL语句进行详细的解析。 1. 查看数据库命令:show databases show ...
- **字符串连接(CONCATENATION)**:在MySQL中,使用`||`运算符可以将两个字符串拼接在一起。例如,`'Hi ' || 'there!'`将返回`'Hi there!'`。如果需要连接数字和字符串,可以先将数字转换为字符串,如`'' || 4 ||...
#### 五、LIKE与SUBSTRING的使用场景 当涉及到字符串匹配时,LIKE和SUBSTRING的操作效率也需要关注: 1. **LIKE操作:** - **前缀模糊查询:** ```sql SELECT * FROM T1 WHERE NAME LIKE 'L%'; ``` - **中间...
#### MySQL的安装与配置 **MySQL** 是一款非常流行的开源关系型数据库管理系统,广泛应用于各类网站和个人项目之中。掌握MySQL的安装与配置是使用MySQL的基础。 - **Windows平台下的MySQL下载:** - 访问MySQL...
MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,尤其在计算机二级考试中,对MySQL的基础知识和进阶操作的掌握显得尤为重要。以下是对该课程主要内容的详细解析: 1. **MySQL安装和配置**:安装MySQL涉及...
左外连接与右外连接的区别 11. 使用下列( )命令可以使结果表中除了匹配行外,还包括右表有的但左表中不匹配的行。 a) LEFT OUTER JOIN b) NATURAL JOIN c) RIGHT OUTER JOIN d) INNER JOIN **答案解析**: *...
7. 单选7:在 MYSQL 中,执行 SQL 命令 Select 性别, avg(入学成绩)From 学生 Group by 性别 其结果是按性别分组计算并显示性别和入学成绩的平均值。 知识点:GROUP BY 子句、聚集函数、分组查询 8. 单选8:...
### MySQL培训手册知识点详解 #### 一、MySQL数据库必备知识 ...以上是MySQL培训手册中的主要知识点,通过这些内容的学习,可以迅速掌握MySQL的基本操作与高级功能,为日后的工作打下坚实的基础。
- **避免在WHERE子句中使用函数**:对字段应用函数操作(如`substring(name, 1, 3) = 'abc'`)将使MySQL无法使用索引。 - **确保索引字段正确使用**:如果索引是复合索引,则必须使用该索引中的第一个字段作为条件,...
在MySQL中,可以使用各种函数来处理数据,例如字符串函数(如concat、substring)用于字符串操作,数学函数(如abs、sqrt)处理数值计算,日期时间函数(如now、date_add)用于日期和时间的处理,搜索函数(如like、...
MySQL内部函数是数据库管理系统中非常重要的组成部分,它们用于执行各种数据处理任务,包括但不限于计算、比较、转换和处理日期时间等。以下是对标题和描述中提及的一些关键知识点的详细解释: 1. **操作符和操作符...
9. 优化字符串和日期操作:字符串函数如SUBSTRING和日期函数如DATEDIFF会在列上有索引的情况下忽略索引,应当优化为其他等效表达式,如使用LIKE 'abc%'代替SUBSTRING(name,1,3)='abc'。 10. 使用EXISTS代替IN:在子...
14. `LIKE`操作符:在SQL查询中,`LIKE`用于模式匹配,`LIKE "张%"`表示匹配所有姓张的同学信息。 15. 最小值函数:`MIN`函数用于查找查询结果的最小值。 16. 基本运算:数据库表的基本运算包括选择(SELECT)、...