用于删除字段中左右字符的SQL查询

时间:2010-09-20 04:54:16

标签: sql mysql

我有一个sql字段,我需要编辑左边和右边的字符 表名是:cdr
字段名称为:dstchannel
dstchannel字段显示以下数据:Local / 872 @ from-internal-6acb,1
我只需要872作为输出
该字段始终具有相同数量的数据,因此872将在其位置上保持不变 我将如何为mysql编写SQL查询?

如果我有其他查询要包含此内容,我该怎么做?

谢谢

2 个答案:

答案 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);
相关问题