我的专栏有价值观
1234|aaa4|8752
这些值的长度不固定。
我想提取第二个值aaa4
我尝试写这个
SELECT SUBSTRING(column_name,CHARINDEX('|',column_name) + 1,
CHARINDEX('|',column_name, CHARINDEX('|',column_name)))
FROM [name].[name].[table_name]
有了这个参考
但这工作不正常,它也在第二个管道之后显示文本
aaa4|8752
这是因为我们使用的是子字符串,而第三个参数是长度。所以它也采用了其他角色。如何限制第二根管道的长度?
CHARINDEX('|', column_name)
找到第一根管道的位置。CHARINDEX('|', column_name, CHARINDEX('|', column_name) + 1)
查找第二个管道的位置,在第一个管道之后开始搜索。