草庐IT

REGEXP_EXTRACT

全部标签

mysql - 如何在 R 的 sqlQuery 函数中使用 REGEXP

EDIT-1我的实际数据库是MSAccess格式,我正在使用R的RODBC包中的sqlQuery函数导入数据。以下是我正在创建的假数据库,因此我可以使用RSQLite包提供可重现的示例。我想将正则表达式与sqlQuery函数。EDIT-1结束以下是使用RSQLite包的模拟数据库和相关查询。REGEX(或REGEXP)函数不起作用,我不知道为什么。data0这些有效dbGetQuery(con,paste0('select*fromMydatawhere[ID]like\'P9W38\''))dbGetQuery(con,paste0('select*fromMydatawhere[I

mysql - 在MySQL中使用REGEXP为搜索引擎随机匹配关键词

我正在尝试使用正则表达式将用户输入的搜索字符串与我的MySQL数据库中条目的标题相匹配。例如,我的数据库中的表中有以下行:idtitle1IM2-Article3FunkyBusiness2IM2-Article4There'snoBusinessThat'snotShowBusiness3IM2-There'snoBusinessThat'snotShowBusiness4CO4-Life'sabusiness当用户搜索“IMArticleBusiness”时,将执行以下查询(使用str_replace将空格替换为“(.*)”):SELECT*FROMmytableWHEREtitl

MySQL regexp 比 like 慢很多

这个问题在这里已经有了答案:REGEXPperformance(comparewith"LIKE"and"=")(2个答案)关闭7年前。SELECTdataFROMtestWHEREcolREGEXP"asdf_[0-9]+"LIMIT1...一组中的1行(1分43.12秒)SELECTdataFROMtestWHEREcolLIKE"asdf_%"LIMIT1...集合中的1行(0.01秒)regexp可以给我准确的结果,如果我使用likesql,我必须过滤数据。有什么改进的方法吗?顺便说一句:测试有200万行并且会增长。

mysql - 编写 MYSQL REGEXP : greedy vs negated confusion

我正在寻找有关MYSQL查询的正则表达式的帮助。我对表达式相当陌生,并且让自己彻底困惑。我的数据库单元看起来像这样1314{{Hereissomedata}}1213{{Moredatahere}}1112{{Dataahoy}}我正在尝试编写一个表达式来尝试匹配数据集,但仅匹配括号内年份内的数据。例如,假设$year=1314和$term="ahoy"。使用以下正则表达式:$year\{\{.*$term.*\}\}它返回一个匹配项-因为它匹配1112前缀数据集的最后一个“}}”。我不希望它这样做,但尽管阅读了这个贪婪/否定的业务,我还是无法使用语法。实现我所追求的目标的最佳方式是什

php - MySQL 错误代码 : 1305. FUNCTION JSON_EXTRACT 在 MySQL 客户端版本 : 5. 5.52 中不存在

Goal:-json_extractdoesnotexisterror.我确实有这样的邮件正文。{"opponent_xmpp_id":"socialapp_233@22.52.258.256","latest_message_id":"6233"}http://jabber.org/protocol/chatstates我正在尝试提取opponent_xmpp_id和latest_message_id。为此,我编写了如下查询。SELECTLEFT(ExtractValue(stanza,"//@from"),LOCATE("@",ExtractValue(stanza,"//@fro

Java hibernate org.hibernate.exception.SQLGrammarException : could not extract ResultSet on createSQLQuery

我有这个方法。privatefinalvoidupdateAllTableFields(finalClassclazz){finalStringtableName=((Table)clazz.getAnnotation(Table.class)).name();finalStringsqlQuery=newStringBuilder("SET@ids=NULL;").append("UPDATE").append(tableName).append('').append("setactiveRecord=:activeRecord").append("whereactiveRecord

MySQL REGEXP 没有空格没有数字

我试图只返回那些colA和colB不包含数字或空格的行到目前为止,这是我的代码。SELECT*FROMtable_nameWHEREcolAREGEXP'[^0-9^\W]'ANDcolBREGEXP'[^0-9^\W]'给定数据集colAcolB--------------------test|testB33|text我假设我的问题出在我的正则表达式上......请帮忙? 最佳答案 那么您的表达式不起作用,因为:33都是数字,并且您要查找任何非十进制、非空白字符。所以它不包括结果中的那一行。尝试:SELECT*FROMtable_

php - MySQL 查询中的 Yii2 REGEXP

如何在yii2中使用像下面这样的SQL查询?select*fromSkill_NameswhereSkillNameREGEXP'PHP|MYSQL'我不需要像(SkillNameLike%PHP%orSkillNameLike%MYSQL%)这样的东西,因为我需要使用REGEXP。 最佳答案 最简单的是直接查询:Yii::$app->db->createCommand("select*fromSkill_NameswhereSkillNameREGEXP'PHP|MYSQL'")->queryAll();如果您有Skill_Nam

MySql 5.7 json_extract按键

我有一张table,它看起来像下面这样:表格数据idparams1{"company1X":{"price":"1124.55"},"company2X":{"price":"1,124.55"},"company3X":{"price":""},"company4X":{"price":""},"company5X":{"price":"1528.0"}}我不知道要在我的请求中使用的“公司”名称。如何获取按价格排序的数据?谢谢!P.S我试过从数据中选择json_extract(params,'$[*].price')但它不起作用(返回空值)。 最佳答案

mysql - 使用 REGEXP 在空格分隔列表中查找数字

我正在编写一个SQL查询来选择行,其中以空格分隔数字的字段包含单个数字,在本例中为1。示例字段:"12345111221"-匹配,包含第一"234611101"-不匹配,不包含第一到目前为止最好的查询是:$sql="SELECT*from".$table."WHEREbrandsREGEXP'[/^1$/]'ORDERBYnameASC;";问题是这个REGEXP也找到了11个匹配项我在其他帖子上阅读了很多建议,例如[\d]{1},但结果总是一样的。是否有可能完成我想要的,以及如何完成? 最佳答案 您不需要正则表达式:如果您在列的前