sql中like的用法有哪些 掌握like模糊查询的4种匹配模式

明白了,让我们进入要点:
1 LIKE是寻找相似点,四种模式:%代表任意数,_代表一,[]代表集合内,[^]代表集合外。
2 .不要以%开头,很容易全表扫描,使用全文索引或特定运算符。
3 .对于复杂的图案,使用规则的图案,但效率可能较低。
4 . 使用ESCAPE或函数转义特殊字符。
5 .简单高效%,集合使用[],优化性能使用%,特殊字符必须转义。

sql server like 一个字段。 例如:select * from 表 where 字段1 like '%字段2%'

你是对的。
如果您使用 SQL Server,则如果要运行类似的查询,则需要添加连接器“+”。

比如原来写的是: SQL 从字段 1 类似于“%field 2 %”的表中选择
这行不通。
这应该更改为: SQL 从字段 1 为 '%' + 字段 2 + '%' 的表中选择
这里我们使用“+”来连接字符串。

但是问题来了。
如果“字段2 ”不是字符类型,比如数字,直接添加是错误的。
将“%”添加到数字“1 2 3 ”会产生“1 2 3 %”,这是一个不正确的结果。

所以需要先将数字转换为字符串。
使用转换或转换。
例如: SQL 从具有字段 1 的表中选择,如 '%' + Cast(字段 2 as varchar(2 0)) + '%'
这样“Field 2 ”就被转换为字符串了。
只有在前后添加'%'才能实现正确的匹配。

老实说,当我第一次了解它时,我很容易感到困惑。
有时,您在编写字段后发现该字段的类型错误,因此必须返回并更改它。
例如,如果您有一个表并且“字段 2 ”的类型为 int,您可以编写: SQL 从具有字段 1 的表中选择,如 '%' + Cast(字段 2 as varchar(1 0)) + '%'
您可以选择varchar(1 0)或2 0。
太长是一种浪费。
如果太短,可能无法保存。

这意味着当使用'+'连接时,非字符类型必须先转换为varchar。