我不擅长使用REGEX,有人能帮我优化我的MySQL查询吗?
SELECT activity
FROM activity
WHERE (LOWER( activity_name ) REGEXP '>mit|mit,|edited mit')
ORDER BY created_date DESC
当我用'mit|mit,|edited mit'替换'>mit|mit,|edited mit'时,它的运行速度非常快,但它显示了不需要的额外记录。我甚至尝试了'/[>]/mit|mit,|edited mit',不幸的
我在MYSQL表中有一本字典,这个表由24万字组成。例如,如果我有字母G,I,G,S,N和O,我想选择表中包含所有或部分这些字母(而没有其他字母)的所有单词。
例如,可以接受的词语包括:
远行
宋国
儿子
所以
在……上面
令人无法接受的词语的例子:
歌曲(超过允许的一个S)
字数比字数长(本例中为6个)
MYSQL查询会是什么样子?
我现在的MYSQL看起来如下:
SELECT * FROM `list`
WHERE word like '%S%' and word like '%O%' and word like
因此,我正在尝试将主题标签搜索合并到我的应用程序的帖子中。我想出了几个严密的正则表达式,但似乎都没有用。假设我有一根绳子:
#i keep #hashtags in my mom's attic. She says I am her number #1 son. Why I'm not num#ber #2: http://pics.com/pic#thepic
我希望RegEx与之匹配:
i
hashtags
1
2
我希望它具体地不匹配HTML实体、URL中的#锚、从单词中间开始的散列,以及在散列标签之后的任何尾随标点符号。我还想确保它匹配字符串开头的一个哈
我想在MySQL和Hibernate中搜索“全字匹配”。
我的代码是:
public Collection<Template> findByOneTag(String tags) {
// since the tags are in , format we will replace it with |
return getSession().createCriteria(Template.class)
.add(Restrictions.sqlRestriction("tags REGEXP '[[:<:]]?[[:&g
我使用一个sql查询来搜索我的帖子表中的标签,然后是一个单词。例如,#cats我使用regexp,因为它使我能够使用正则表达式在字符串中查找与#cats匹配但具有模式的内容。
问题是我认为#破坏了查询。下面是我的问题,
mysql_query("SELECT * FROM somewhere WHERE something regexp '[[:<:]]#cats[[:>:]]'");
我试过用它来躲避#
mysql_query("SELECT * FROM somewhere WHERE something regexp '[[:&
我正在使用Postgres后端,但理论上它可以更改为MySQL (甚至,是的,MySQL),所以我正在寻找一个通用的示例。
假设我有一个标签为"title“的列,其中包含视频游戏标题。如果我想查询所有以数字开头的查询,那么我使用:
Games.where("title LIKE '0%' OR title LIKE '1%' OR title LIKE '2%' OR title LIKE '3%' OR title LIKE '4%' OR title LIKE '5%' OR t
我有一个针对MySQL的查询,我正在尝试优化它。我有一个有几十万行的表t,它有一个varchar列x(和一些其他列),它被索引并且不超过1000个不同的值。我正在尝试获取与特定正则表达式匹配的所有不同的x。这是表述这个问题的最简单的方法:
SELECT DISTINCT x
FROM t
WHERE x REGEXP 'someregexp'
但是MySQL在使用REGEXP时似乎完全忽略了索引,所以需要几秒钟的时间。因为我的distinct值非常少,所以如果查询使用索引获取distinct值,然后使用正则表达式过滤结果,那么处理它应该会非常快,但现在似乎不是这样,因为它应该
我当前的查询如下所示:
SELECT * FROM fiberbox f WHERE f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %'
我环顾四周,找不到任何类似于IN()的东西--我设想它是这样工作的:
SELECT * FROM fiberbox f WHERE f.fiberbox LIKE IN('%140 %', '%1938 %', '%1940 %')
有什么想法吗?我
以下是问题场景。我有一个文本框,用户可以在其中输入评论。但是,如果它们包含HTML标记或<A HREF='javascript:window.alert("Example of a link that displays an alert box");'> link </A>,并且当注释从MySQL数据库输出到页面时,它们实际上会执行。我正在寻找一种方法来防止这种情况发生,只允许使用几个HTML标签(如粗体,斜体,下划线)。
在将文本区域中的评论发送到mysql数据库之前,我对我的评论使用此函数:
function sanitize($da
我想跳过MySQL中的空白数据。
我的示例查询将不起作用:
SELECT * FROM burger WHERE mayonnaise=1 AND pickle<>'.$yon.' AND ketchup IS NOT NULL AND ketchup<> '' ORDER BY RAND() LIMIT 5
我想跳过存储为空白的数据。
id mayonnaise pickle ketchup
1 1 y
2 1 n 1
如何在mysql中匹配整个单词?
例如,如果我输入“lau”,我就不想与“laura”或“laurance”匹配。
下面是我的工作查询,它匹配“”和“laura”
SELECT *
FROM
(
SELECT
p.page_id,
p.page_url AS url,
p.page_title AS title,
SUBSTRING_INDEX(p.page_content_1, ' ', 500) AS content,
EXTRACT(DAY FROM p.page_backdate)
希望能在这里得到一些帮助。我的Fluentd设置被配置为将日志发送到2个输出,每个输出都期望日志具有不同的结构。
到目前为止,配置是扫描日志两次,每次添加不同的标记,并根据标记配置相关的解析和输出。
例如:
myapp.log -> tag app_splunk -> filters of type x, y, x -> match and output to splunk
myapp.log -> tag app_s3 -> different set of filters -> output to S3
我试图找到一种正确的方法来处理日志一次,并在没有双
我有一个包含多个注释标记的文本块:
Lorem ipsum dolor sit amet<--this is a comment-->, consectetur adipiscing<--replace=>with this--> elit. Maecenas massa ip<---123=<--=>+456>=->-->sum, ultrices quis semper porttitor, cursus at lectus.
我想编写一个正则表达式来捕获所有<--xxx=>yyy-->标记实例的内容。从上
如何编写(MySQL)查询来查找列包含从url查询字符串获得的值的行?
我可以做SELECT * FROM table WHERE column LIKE %tag%,当标签是一个单词时,这是很好的。但是,我希望支持由多个单词组成的标签。
为了让我的URL更美观,我去掉了某些字符,并用破折号代替了空格。例如,像"Stack Overflow“这样的标记在作为查询字符串从URL中检索时会变成"stack-overflow”。
支持像"17/18“这样的标点符号的标签也会很好,它会被转换成"17-18",或者”怎么样了?“它将被转换为“如何进行”,或者“电影
我需要一个MySQL查询来返回包含指定搜索词的文本列中的完整句子。
目前,我可以使用以下查询获取搜索词前后的20个字符:
select id, MID(body,(LOCATE('search_word', body)-20),40) from content where body like "%search_word%" limit 1
,但这就是我所能做的。
我想要得到包含我的搜索词的完整句子(两个点之间)。
有什么想法吗?Regex?我该怎么做呢?
问题:是否可能有regexp匹配>*2014*</year子字符串,以便只有最近的>字符才是匹配的开始。另一种说法是使用regexp匹配>...XXXX...</year子字符串,但不允许在子字符串匹配中使用<字符。
Mysql查询以选择year=2014记录,但这会溢出开始-结束标记>*2014*</year并返回额外的行。我相信它从早期的<start>2014-MM-DD</start>标签开始匹配。
Select * From table1 Where args REGEXP '>.*(2014).*&
我正在实现一个名称筛选器,其中一个表"name_filter“带有一个列" filter”,其中填充了被认为不合适的单词。当请求名称时,我希望使用*row*匹配检查表中的任何名称是否包含在请求的名称中。
查询是:
SELECT filter
FROM name_filter
目前,我正在提取整个列,然后使用find()方法std::string逐个执行检查。
// Check all names in the filter table and match if the input name contains the
// value in one of the rows
for
我正在制作一个迷你社交网络类型的网站,在那里人们可以向php页面提交问题/聊天内容,php页面将数据添加到数据库中,然后从数据库中获取所有数据,并将其放在页面上自己的div中,显示所有评论。唯一的问题是,人们提交的标签弄乱了页面,我想知道是否有办法在特定的div中禁用<>标签?下面是该部分的代码片段:
$q=mysql_query("SELECT * FROM posts WHERE user='$u' ORDER BY date DESC");
?>
<div class="posts">
我们的论坛是基于phpbb3的,一段时间以来,我们一直在使用语法突出显示模块。我们决定去掉mod,回到基本的bbcode标签。长话短说-我需要更新包含以下内容的mySQL字段(phpbb_forum_posts、post_text):
Text Text Text Text Text
[swordfish filename=code.bas]
code code code
123
code code[/swordfish]
Text Text Text Text Text
至
Text Text Text Text Text
[code]
code code code
123
code