从字符串中提取数字部分 - SYBASE ASE

时间:2014-06-27 09:47:37

标签: sybase-ase

我正在尝试从字符串XYZ.ABC7658@YAHOO.CO.IN中提取7658。 下面是我正在尝试的查询,并且还显示了输出。但是查询并没有为此目的服务。

你能帮忙吗? (在Sybase ASE上运行查询)

SELECT SUBSTRING('XYZ.ABC7658@YAHOO.CO.IN', PATINDEX('%[0-9]%', 'XYZ.ABC7658@YAHOO.CO.IN'),   
       LEN('XYZ.ABC7658@YAHOO.CO.IN')) as number

Go

 Number
 --------------
 85@YAHOO.CO.IN 

1 个答案:

答案 0 :(得分:1)

你没有提到最终的问题

DECLARE @str VARCHAR(100)
SELECT  @str='XYZ.ABC7658@YAHOO.CO.IN'

SELECT  SUBSTRING(@str, PATINDEX('%[^0-9][0-9]%', @str) + 1, PATINDEX('%[0-9][^0-9]%', @str) - PATINDEX('%[^0-9][0-9]%', @str))