GVKun编程网logo

SQL SELECT LIKE仅包含特定单词(sql 包含特定字符)

7

在本文中,您将会了解到关于SQLSELECTLIKE仅包含特定单词的新资讯,同时我们还将为您解释sql包含特定字符的相关在本文中,我们将带你探索SQLSELECTLIKE仅包含特定单词的奥秘,分析sq

在本文中,您将会了解到关于SQL SELECT LIKE仅包含特定单词的新资讯,同时我们还将为您解释sql 包含特定字符的相关在本文中,我们将带你探索SQL SELECT LIKE仅包含特定单词的奥秘,分析sql 包含特定字符的特点,并给出一些关于jQuery选择器:获取包含特定单词的第一个元素类的内容、linux – 终端命令查找包含特定单词的行?、MySQL SELECT LIKE或REGEXP以在一条记录中匹配多个单词、MySQL笔记八之SELECT之LIKE模糊查找的实用技巧。

本文目录一览:

SQL SELECT LIKE仅包含特定单词(sql 包含特定字符)

SQL SELECT LIKE仅包含特定单词(sql 包含特定字符)

我有这个查询:

SELECT * FROM mytableWHERE column1 LIKE ''%word1%''AND column1 LIKE ''%word2%''AND column1 LIKE ''%word3%''

我需要修改此查询以返回其column1包含word1 word2和word3以及其他所有内容的记录!没有其他的话,只是这些话。

示例:搜索samsung galaxy s3应返回的任何组合,samsung s3 galaxy但不返回samsung galaxy s3lte

答案1

小编典典

假设 其中column1包含用空格分隔的单词,并且您只想匹配 整个 单词,则类似于:

SELECT * FROM  (select '' '' + REPLACE(column1,'' '',''  '') + '' '' as column1 from mytable) tWHERE   column1 like ''% word1 %'' AND   column1 like ''% word2 %'' AND   column1 like ''% word3 %'' AND   REPLACE(REPLACE(REPLACE(column1,      '' word1 '',''''),      '' word2 '',''''),      '' word3 '','''') = ''''

请注意,这种结构的确允许 同一
单词出现多次。从这个问题尚不清楚是否应该允许这样做。(小提琴)


如果将这些单词作为单独的行存储在与之相关的单独表中,那将是一个更好的设计mytable。然后,我们可以使用更普通的SQL来满足此查询。您的示例看起来像是某种标记示例。拥有一个将每个标签存储为单独行的表(如果需要,还记录了序数位置)会将其变成一个简单的关系划分问题。


计算一个单词在一个列中出现多少次的一种方式是表达式:

(LEN(column2) - LEN(REPLACE(column2,''word'',''''))/LEN(''word'')

但这又会回到较大单词的匹配子序列以及单词本身,而无需进行更多工作。

jQuery选择器:获取包含特定单词的第一个元素类的内容

jQuery选择器:获取包含特定单词的第一个元素类的内容

快速jQuery选择器问题:

我需要得到第一个元素(div / span / …)的内容,其中包含一个包含字符串的类(例如:“price”).

不喜欢这样的东西; o):

var price = ( $('[class*=price]').text() );

非常感谢 !!!

解决方法

使用 first选择器应该可以正常工作:

$('[class*="price"]:first').text()

http://jsfiddle.net/Et3vx/1

linux – 终端命令查找包含特定单词的行?

linux – 终端命令查找包含特定单词的行?

我只是想知道我需要将什么命令放入终端读取文本文件,消除所有不包含某个关键字的行,然后将这些行打印到新文件中.例如,关键字是“系统”.我想能够将包含系统的所有行打印到一个新的单独文件中.谢谢

解决方法

grep是你的朋友

例如,你可以做:

grep system <filename> > systemlines.out

你可以获得更多有用的信息(例如:行号,1行之前,1行后,否定 – 即:所有不含grep的行等)

如果您正在运行Windows,则可以安装cygwin,也可以为grep找到一个win32二进制文件.

MySQL SELECT LIKE或REGEXP以在一条记录中匹配多个单词

MySQL SELECT LIKE或REGEXP以在一条记录中匹配多个单词

如何解决MySQL SELECT LIKE或REGEXP以在一条记录中匹配多个单词?

好吧,如果您知道单词的顺序..您可以使用:

SELECT `name` FROM `table` WHERE `name` REGEXP ''Stylus.+2100''

您也可以使用:

SELECT `name` FROM `table` WHERE `name` LIKE ''%stylus%'' AND `name` LIKE ''%2100%''

解决方法

领域tablename包含“ Stylus Photo 2100”并带有以下查询

SELECT `name` FROM `table` WHERE `name` LIKE ''%Stylus 2100%''

我没有结果。我当然会搜寻

SELECT `name` FROM `table` WHERE `name` LIKE ''%Photo 2100%''

如何通过搜索“ Stylus 2100”选择记录?

谢谢

MySQL笔记八之SELECT之LIKE模糊查找

MySQL笔记八之SELECT之LIKE模糊查找

本文首发于公众号:Hunter后端

原文链接:MySQL笔记八之SELECT之LIKE模糊查找

这一节介绍 like 的模糊搜索用法。

跟 like 搭配的通配符有两种,一种是 %,一种是 _

% 是不限次数,不限字符的

_ 是不限字符,但是仅限次数为 1 的

  1. %
  2. _

1、%

% 这个通配符表达的含义是 不限次数、不限字符。

举个例子,如果你写的是:

WHERE name LIKE ''%ython''

那么,下面这种数据你都可以匹配上:

ython
python
Python
123ython
asdasdajcaliaython

也就是说,在 ython 前包含了0个或者无数个字符的数据都属于满足要求。

如果想要在 ython 后也能有字符怎么办?在后面加上 % 即可。

也就是说想要在左右两边,哪边需要匹配字符,就往哪边加 %

如果我们尝试下面的语句:

select * from book where book_name like ''%YTHO%'';

可以发现小写的数据也被搜索出来,如果我们希望强制区分大小写,也就是搜索的是小写字母就返回小写字母,搜索的是大写就返回大写,可以加上 binary 参数:

select * from book where binary book_name like ''%YTHON%'';

2、_

_ 这个字符也可用于模糊搜索,但是它只能匹配一个字符,接下来我们插入几条数据:

insert into book (book_name, author) values(''test'', ''test_author''), (''sest'', ''sest_author''), (''atest'', ''atest_author'');

然后这样搜索:

select * from book where book_name like ''_est'';

这样,book_name 为 test 和 sest 的数据就可以被搜索出来,值为 atest 的就不会,因为 _ 仅匹配一个任意字符。

灵光一现:一个下划线 可以匹配一个字符,那么多个下划线 呢,是不是可以匹配多个任意字符?

确实如此,不信我们可以尝试:

select * from book where book_name like ''__st'';

注意:

  • 通配符的使用会使得查找的时间变长,能用更精确的限制条件就用其他的条件
  • 不要把通配符放在搜索语句的开始处,可以把更精确的搜索条件尽量往左边放
  • 如果一定要使用通配符,_ 和% 也是可以组合使用的,在限定字符长度方面有很大帮助。

如果想获取更多相关文章,可扫码关注阅读:

image.png

今天关于SQL SELECT LIKE仅包含特定单词sql 包含特定字符的分享就到这里,希望大家有所收获,若想了解更多关于jQuery选择器:获取包含特定单词的第一个元素类的内容、linux – 终端命令查找包含特定单词的行?、MySQL SELECT LIKE或REGEXP以在一条记录中匹配多个单词、MySQL笔记八之SELECT之LIKE模糊查找等相关知识,可以在本站进行查询。

本文标签: