我需要从字符串列中提取数字。字符串值中的数字长度不固定,但以特殊符号下划线(_)结束。我尝试使用Substring但不成功。请在下面的示例数据中提示列
示例字符串:
FilePath
1002001_Inv_QCR.tiff
100101_Inv_MAN.Jpg
SELECT SUBSTRING(Filepath,1,6) from Tblfileinfo
答案 0 :(得分:4)
我猜,以下内容可能有所帮助:
SELECT
SUBSTRING(Filepath, 1, CHARINDEX('_', Filepath) - 1)
FROM
Tblfileinfo
答案 1 :(得分:1)
DECLARE @Value NVarChar(255)
SET @Value = 'Something_1002001_Inv_QCR.tiff'
SELECT SubString(@Value, PatIndex('%[0-9]%', @Value), CharIndex('_', @Value, PatIndex('%[0-9]%', @Value)) - PatIndex('%[0-9]%', @Value))
(注意:这也可以处理数字不在名称开头的情况)
特定于提供的表格:
SELECT SubString(Filepath, PatIndex('%[0-9]%', Filepath), CharIndex('_', Filepath, PatIndex('%[0-9]%', Filepath)) - PatIndex('%[0-9]%', Filepath))
FROM Tblfileinfo