我想从字符串中提取部门值,例如:COUNTRY_SITE_DEPARTMENT.csv,“.”之间的部门。和“_”,我确定这在 SQL 中作为选择查询是可行的,有人可以指出我正确的方向吗?
我在另一个例子中使用了类似的东西,但我运气不好:(
Select substring( LEFT(Col,charindex('.',Col)-1),
charindex('_',Col)+1,
len(LEFT(Col,charindex('.',Col)-1))-1 )
FROM FILENAMES;
如有任何帮助,我们将不胜感激。
最佳答案
如果在寻找最后一个 _
时反转字符串,这是最容易做到的:
SELECT REVERSE(SUBSTRING(REVERSE(Col), CHARINDEX('.', REVERSE(Col)) + 1,
CHARINDEX('_', REVERSE(Col)) - CHARINDEX('.', REVERSE(Col)) - 1))
FROM FILENAMES
我假定使用 SQL Server,因为您在查询中使用了 SQL Server 函数。
关于sql - 使用SQL获取字符串中分隔符之间的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22316759/