我正在尝试比较两个查询的结果,一个获取从外部向我的 Asterisk 服务器发出的呼叫的呼叫 ID(10 位),另一个获取连接到服务器的呼叫 ID(11 位)。出站呼叫在其号码前附加一个“1”。目前我正在使用如下语句:
select data2, from_unixtime(time_id) day from queuemetrics.queue_log
where time_id > '1346475600' and (data2, time_id) in
(select dst, unix_timestamp(calldate) from asteriskcdrdb.cdr
where calldate > '2012-09-01' and lastdata like <blocked for privacy>)
order by day;
data2
是包含 10 位数字的列,dst
包含 11 位数字。有没有办法只匹配列的第 2-11 个字符?跳过第一个?显然 a LIKE
orRLIKE
会有用,但我确实需要维护嵌套查询才能使其正常工作。任何帮助都会很棒。另外,不要注意我对from_unixtime
and的奇怪用法unix_timestamp
。我正在尝试确定是否需要以相同格式的时间来进行搜索。不重要。