相关文章推荐
另类的金针菇  ·  AppDomain.CreateInstan ...·  2 月前    · 
无邪的作业本  ·  sql ...·  1 年前    · 

在程序中经常会使用到模糊查询,而模糊查询的写法有很多比如使用CONCAT(’%’,#{search_name})进行或者使用%’||#{search_name}||’%'进行,那么这两种写法区别在哪里呐?在选择的时候该如何选择

我们来测试一下

SELECT CONCAT('%','成功')
FROM a

看一下结果
%成功
%成功
%成功
%成功
%成功

SELECT CONCAT('成功','%')
FROM a

成功%
成功%
成功%
成功%
成功%
成功%

说明一下,要测试某个函数的功能,可以使用
SELECT 函数(参数)
FROM 某张表
的格式,进行输出,可以看到一个函数的输出结果

由此应该也就清楚了,在选择的时候我们应该如何选择,如果是左模糊查询就使用CONCAT(’%’,‘成功’)或者’%’+#{search_name},右模糊查询就使用SELECT CONCAT(‘成功’,’%’),或者#{search_name}+‘%’
全模糊查询的话,应该也就只能使用%’+#{search_name}+’%'进行了

概述在程序中经常会使用到模糊查询,而模糊查询的写法有很多比如使用CONCAT(’%’,#{search_name})进行或者使用%’+#{search_name}+’%'进行,那么这两种写法区别在哪里呐?在选择的时候该如何选择demo我们来测试一下SELECT CONCAT('%','成功')FROM a看一下结果%成功%成功%成功%成功%成功SELECT CONCAT('成功','%')FROM a成功%成功%成功%成功%成功%成功%说明一下,要测试某个函数的功
oracle在Where子句,可以对datetime、char、varchar字段类型的列用Like子句配合通配符选取那些“很像…”的数据记录,以下是可使用的通配符: %   零或者多个字符 _    单一任何字符(下划线) \     特殊字符 oracle10g以上支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 4,REGEXP_REPLACE :与REPLACE的功能相似 POSIX 正则表达式由标准的元字符(metach
根据学生名称模糊查询学生信息 sql语句实现 select stuName from student where stuName LIKE CONCAT(’%’, ‘张’, ‘%’) mybatis实现: select stuName from student where stuName LIKE CONCAT (’%’,#{stuName ,jdbcType=VARCHAR},’%’) LIKE CONCAT 还可以用于同时搜索符 like CONCAT(CONCAT('%',#{query.orgName}),'%') //三个参数拼接 like concat('%',#{query.orgName},'%') oracle:只支持两个参数 但是可以采用’||’ 进行字符串拼接 //两个参数拼接 like CONCAT(CONCAT('%',#{query.orgName}),'%') //使用'||'拼接 like '%'||#{qu.
前些天去写一个需求,当时使用了了模糊查询,需求的描述是实现手机号的模糊查询,但是怎么想这个手机号的模糊查询没想象的那么简单,但是经过尝试和面向百多的编程最终解决!因为之前学习的都是mysql的数据库,orcale数据库接触的比较少,以为语法上应该是一样的! <if test="contactPhone != null and contactPhone != ''"> AND cust.CONTACT_PHONE like '%'#{contactPhone}'%'
Mysql模糊查询之LIKE CONCAT 众所周知,SQL语句的like模糊查询 select * from table where name like‘%赵%’ 在实际开发过程有时我们为了匹配多个模糊查询字段信息,如果以以上的方式去写有些繁琐,因此大部分情况下我们都是使用like concat这个语法去实现,具体如下: (1)、具体某个字段匹配,根据名称模糊查询: select * f...
-- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `name` varcha
<!-- 查询信息列表 --> <select id="selecteInfoList" parameterType="com.domain.Info" resultMap="InfoResult"> <include refid="selectInfoVo"/> <where> <!-- Mysql的like模糊查询1:使用${…} --> <!-- --> <if test
一直报错参数个数无效,模糊查询的sql语句还是concat('%','s','%')这样写的 但实际上oracle不支持concat的三个参数的拼接,需要更正为 select * from SYS_MENU where url like concat(concat('%',#{roleName}),'%') select * from SYS_MENU where urllike'%' ||#{roleName}|| '%';
第一种 concat select * from cat_table where cat_name like concat(#{catName},’%’) --单个百分号 select * from cat_table where cat_name like concat(concat(’%’,#{catName}),’%’) --前后百分号 第二种 || select * from cat_table where cat_name like ‘%’ || #{catName} || ‘%’
like concat是两个不同的函数。 like是SQL的一个操作符,用于在WHERE子句进行模糊匹配。它可以用来查找包含特定字符串的行。例如,SELECT * FROM table WHERE column LIKE '%abc%'将返回包含字符串“abc”的所有行。 concat是一个函数,用于将两个或多个字符串连接在一起。例如,SELECT CONCAT('Hello', 'World')将返回“HelloWorld”。 因此,like和concat是两个不同的函数,它们的作用也不同。 ### 回答2: 在SQL语言,LIKE是一种用于执行模糊匹配的操作符,用于匹配符合特定模式的字符串。而Concat用于将两个或多个字符串连接在一起。 在使用上,Like操作符可用于WHERE语句的子句,用于在数据库搜索符合特定模式的字符串。例如,当我们想要搜索以Alex开头的所有用户名时,可以使用以下SQL语句:SELECT * FROM users WHERE username LIKE 'Alex%'; 而Concat函数则可用于将两个或多个字符串连接在一起。例如,将名字和姓氏合并为一个完整的姓名字段。以下是一个示例SQL语句:SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users; 因此,尽管两者都涉及字符串操作,但它们的功能和用途是不同的。Like用于匹配符合特定模式的字符串,而Concat用于将字符串合并在一起创建一个新的字符串。同时,Like操作符可以与其他数据库操作符和函数一起使用来执行更复杂的搜索和查询操作,而Concat函数通常用于创建带有新字符串字段的查询结果。 ### 回答3: 在SQL语句,LIKE和CONCAT都是常见的操作符,但它们的作用是不同的。 LIKE是用来模糊匹配字符串的操作符。使用LIKE操作符时,可以在匹配字符串使用通配符,如%和_,其%,表示可以匹配任意多个字符,_表示可以匹配一个任意字符。例如,如果要查找公司名称包含“Tech”的所有记录,可以使用如下SQL语句: SELECT * FROM company WHERE name LIKE '%Tech%'; 在这个例子,%表示可以匹配任意多个字符,所以可以查找到所有包含"Tech"字符串的名称。 而CONCAT是用来连接字符串的函数。它可以接受两个或多个字符串值,并返回一个连接后的新字符串。例如,如果要连接两个字符串“Hello”和“world”,可以使用如下SQL语句: SELECT CONCAT('Hello', 'world'); 这会返回连接后的字符串"Helloworld"。 总的来说,LIKE用于模糊匹配字符串,而CONCAT用于连接多个字符串。在实际应用,我们需要根据不同的需求选择合适的操作符来达到我们想要的结果。