我想知道是否有一种简单的方法可以在另一个字符串中查找一个字符串的出现。我正在使用这个查询:$nameId = "SELECT `testresults`.`id` AS TRid, requirementId, TestCaseId, TestSuiteCollectionId, TestSuiteId, TestSuiteCollectionName, `testcaserequirement`.`nameId` AS `Requirement`FROMtestresultrequirementlink LEFT JOIN`testresults` ON `testresultrequirementlink`.`testresultId` = `testresults`.`id`LEFT JOIN`testsuitecollection` ON `testresults`.`TestSuiteCollectionId` = `testsuitecollection`.`id`LEFT JOIN`testcaserequirement` ON `testresultrequirementlink`.`requirementId` = `testcaserequirement`.`id`WHERE `TestSuiteCollectionName` LIKE '%".$checkfileName[0]."%'GROUP BY `testresultrequirementlink`.`requirementId`;";$checkfileName[0]将在 if 语句中设置,其中设置为GiM1_0. 我的问题是该列不包含该特定字符串,仅包含其中的一部分。sql表的图像那么有没有一种方法可以“搜索/查找”GiM1_0并获得'GiM10_Integrated_testbed1'. 不删除_?GiM1_0也许有办法查看是否找到了一些?他们都有GiM1。
1 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
您可以删除下划线:
where replace(TestSuiteCollectionName, '_', ') LIKE concat('%', ?, '%')
是?
一个参数占位符。我鼓励您使用参数而不是修改查询字符串。
上面的匹配项可能比您预期的要多。
或者,您可以转换为正则表达式:
where TestSuiteCollectionName regexp replace(?, '_', '_?')
问号使_
可选。这是对您问题的最狭窄答案。
- 1 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消