我在MySQL中运行此查询:
obj.getString("message")
我的行SELECT sequence
from prices
WHERE match_description <> ''
AND 'SIP Trunk: 123456 (1 Channel)' LIKE CONCAT(match_description, '%')
ORDER BY length(match_description) desc
LIMIT 1;
为:
match_description
等...
运行上述查询时,字符串看起来像SIP Trunk (1 Channel)
SIP Trunk (2 Channels)
SIP Trunk (3 Channels)
如何正确匹配这些行?
请记住,查询我已经使用其他字符串,因此我无法更改它。
例如,运行的其他查询如下:
SIP Trunk: 123456 (x Channels)
这会匹配SELECT sequence from prices WHERE match_description <> '' AND 'Seat 200' LIKE CONCAT(match_description, '%') ORDER BY length(match_description) desc LIMIT 1;
match_description
我上传CSV文件时会运行查询。这包括提供给我的产品名称,以便在发送给我时上传。
一些示例行将是:
Seat
因此,使用我的查询,我能够匹配除最后两个之外的所有。
对于我可以匹配的那些,我在表格Seat 200
Seat 201
Seat 202
Call Queue 200
Call Group 201
Geographic Number 01234 567890
SIP Trunk: 123456 (2 Channels)
SIP Trunk: 654321 (5 Channels)
中有以下内容:
match_description
我只是不确定如何匹配这些? (每种产品的123456和654321不同)
Seat
Seat
Seat
Call Queue
Call Group
Geographic Number
答案 0 :(得分:1)
您可以将前11个字符与SIP Trunk:
匹配,然后将最后9/10个字符与channel)
或channels)
相匹配,如果您的match_description形式为:{{ 1}}它会捡起来的。 SIP Trunk: yyyyyy (x Channels)
语句将确保MID
和x
为整数,并且开头括号就在那里。
另外,感谢@dwjv指出你无法在match_description列上编入索引。
yyyyyy
答案 1 :(得分:1)
尝试这样的事情
<input id="full-screen-toggler" type="checkbox" style="display: none;" />
<div id="youreditor">
<label id="fslabel" onclick="" for="full-screen-toggler" />
</div>
答案 2 :(得分:0)
您可以更改字符串以匹配您的match_description 例如,您可以将SIP中继12345(x信道)编码为SIP中继(x信道)12345
这样你的值就会与字符串匹配。
SIP Trunk (1 Channel)
SIP Trunk (2 Channels)
SIP Trunk (3 Channels)
出于编码目的,您可以在变量上使用case语句,该变量为您提供特定类型的字符串。
您是否需要首先匹配SIP中继:(x频道)或SIP中继:(x频道),然后编号123456.您可以通过在查询中或在您的csv中执行某些字符串操作来忽略123456部分#39; t需要它。