我有一个sql字段,我需要编辑左边和右边的字符
表名是:cdr
字段名称为:dstchannel
dstchannel字段显示以下数据:Local / 872 @ from-internal-6acb,1
我只需要872作为输出
该字段始终具有相同数量的数据,因此872将在其位置上保持不变
我将如何为mysql编写SQL查询?
如果我有其他查询要包含此内容,我该怎么做?
谢谢
答案 0 :(得分:1)
假设数字总是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
答案 1 :(得分:0)
如果分隔符总是'/'和'@':
select substring(dstchannel,
locate('/', dstchannel) + 1,
locate('@', dstchannel) - locate('/', dstchannel) - 1);