我想知道是否有一種簡單的方法可以在另一個字符串中查找一個字符串的出現。我正在使用這個查詢:$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 關注
- 183 瀏覽
添加回答
舉報
0/150
提交
取消