我有一個sql字段,我需要編輯左側和右側的字符。
表名是:CDR
字段名是:dstchannel
的dstchannel字段顯示下列數據:本地/ 872 @從內部-6acb,1
我只需要872作爲輸出
的字段總是具有相同數量的數據,所以872將在其位置上受到約束。
我將如何去爲MySQL編寫一個SQL查詢?SQL查詢刪除字段中的左側和右側字符
如果我有另一個查詢,我想包括這個,我該怎麼做?
謝謝
我有一個sql字段,我需要編輯左側和右側的字符。
表名是:CDR
字段名是:dstchannel
的dstchannel字段顯示下列數據:本地/ 872 @從內部-6acb,1
我只需要872作爲輸出
的字段總是具有相同數量的數據,所以872將在其位置上受到約束。
我將如何去爲MySQL編寫一個SQL查詢?SQL查詢刪除字段中的左側和右側字符
如果我有另一個查詢,我想包括這個,我該怎麼做?
謝謝
假設數總是在長度爲3個字符:
SELECT
SUBSTRING(dstchannel, 7, 3) AS x
FROM cdr
如果該號碼的長度是可變的,你需要去尋找「@」。在T-SQL(SQL Server)的,你可以使用CHARINDEX:
SELECT
SUBSTRING(dstchannel, 7, CHARINDEX('@', dstchannel, 7) - 7) AS x
FROM cdr
現在如何添加SELECT SUBSTRING(dstchannel,7,3)AS x從cdr – 2010-09-20 05:35:36
到此查詢選擇cdr.userfield,campaignlist.campaignnumber,campaignlist.campaignname,employeelist.employeeid ,employeelist.employeename,cdr.disposition,cdr.calldate,cdr.duration,cdr.uniqueid,cdr.accountcode,x從campaignlist內部加入cdr在cdr.userfield = campaignlist.campaignnumber內部加入employeelist在employeelist.employeeid = x其中cdr .disposition ='ANSWERED'and cdr.dst = 8010 – 2010-09-20 05:36:56
只需在SUBSTRING(dstchannel,7,3)AS x中替換查詢中的x – 2010-09-20 08:09:28
如果分隔符總是 '/' 和 '@':
select substring(dstchannel,
locate('/', dstchannel) + 1,
locate('@', dstchannel) - locate('/', dstchannel) - 1);
將要始終檢索值是三個長字符? – 2010-09-20 04:59:25
是的,該值將始終是三個字符長 – 2010-09-20 05:28:42