【发布时间】:2023-03-10 16:09:02
【问题描述】:
我有一个值为“/1064_MyHoldings/ONLINE/Adhoc/Rpt_CompanyCodeElig”的列
现在,我的要求是提取分隔符之间的每个值; '1064 MyHoldings'、'ONLINE'、'Adhoc' 等?
我尝试了下面的代码,但它只占用了“1064 MyHoldings”。但我也需要其他值 有人可以帮我吗?
WITH yourTable AS (
SELECT '/1064_MyHoldings/ONLINE/Adhoc/Rpt_CompanyCodeElig' AS Path
)
SELECT
CASE WHEN Path LIKE '%/%/%' THEN
SUBSTRING(Path,
CHARINDEX('/', Path) + 1,
CHARINDEX('/', Path, CHARINDEX('/', Path) + 1) - CHARINDEX('/', Path) - 1)
ELSE 'NA' END AS first_component
FROM yourTable;
【问题讨论】:
-
MySQL 还是 SQL Server?它们是两种截然不同的产品......
标签: sql sql-server