繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM