请用sql server2016语句统计fpath中截取第二个/和第三个/之间的字段,若无第三个/则返回第二个/后的字段,若无第二个/则返回第一个/后的字段
时间: 2023-03-14 18:10:17 浏览: 138
SELECT SUBSTRING(fpath, CHARINDEX('/', fpath, CHARINDEX('/', fpath) + 1) + 1, CHARINDEX('/', fpath, CHARINDEX('/', fpath, CHARINDEX('/', fpath) + 1) + 1) - CHARINDEX('/', fpath, CHARINDEX('/', fpath) + 1) - 1) AS 'Field', CASE WHEN CHARINDEX('/', fpath, CHARINDEX('/', fpath) + 1) = 0 THEN SUBSTRING(fpath, CHARINDEX('/', fpath) + 1, LEN(fpath)) ELSE SUBSTRING(fpath, CHARINDEX('/', fpath) + 1, CHARINDEX('/', fpath, CHARINDEX('/', fpath) + 1) - CHARINDEX('/', fpath) - 1) END AS 'Field2' FROM TableName
相关问题
请用sql server2016语句统计fpath中截取第二个/和第三个/之间的字段
SELECT SUBSTRING(fpath, CHARINDEX('/',fpath,1) + 1, CHARINDEX('/',fpath,CHARINDEX('/',fpath,1) + 1) - CHARINDEX('/',fpath,1) - 1) FROM TableName;
请用sql server语句统计fpath中截取第二个/后的字段,若无第二个/则不返回值
SELECT SUBSTRING(fpath, CHARINDEX('/', fpath, CHARINDEX('/', fpath) + 1) + 1, LEN(fpath) - CHARINDEX('/', fpath, CHARINDEX('/', fpath) + 1)) FROM table WHERE CHARINDEX('/', fpath, CHARINDEX('/', fpath) + 1) > 0;