[英]SQL query to remove left and right characters in a field
我有一个sql字段,我需要在左侧和右侧编辑出字符。
表名称是:cdr
字段名称是:dstchannel
dstchannel字段显示以下数据:Local / 872 @ from-internal-6acb,1
我只需要872作为输出
该字段始终具有相同数量的数据,因此872将保持其位置不变。
我将如何为mysql编写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,
locate('/', dstchannel) + 1,
locate('@', dstchannel) - locate('/', dstchannel) - 1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.