sql - 如何从sybase中的字符串中提取子字符串?

标签 sql sap-ase

通过查询,我得到了这个字符串 "Order::Resource(PPP32#BB300320LQ00J#AAAR05504)"。 我想提取 # 字符之前、之间和之后的字符串,如下所示:

id = PPP32

sub_id = BB300320LQ00J

sup_id =AAAR05504

有人知道怎么做吗?

最佳答案

正确的解决方法是:

declare @string varchar(50)
select @string = 'Order::Resource(PPP32#BB300320LQ00J#AAAR05504)'
declare @start int, @end int, @secondstring varchar(100)

select @start = charindex('#',@string)
select @secondstring = substring(@string, @start+1, len(@string))

select @end = charindex('#',@secondstring)

select substring(@string,charindex('(', @string)+1, @start-1-charindex('(', @string)),
       substring(@string,@start+1,@end-1), 
       substring(@string, @start+@end+1, len(@string)-(@start+@end+1))

关于sql - 如何从sybase中的字符串中提取子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12174448/

相关文章:

sql - 如何通过接受 NULL 值的查询进行 PARTITION BY?

sql - 具有可变列名的动态更新语句

php - 如何提高MYSQL查询的性能?

ado.net - Sybase ASE ADO.net 2.0提供程序?

mysql - 按月透视 MySQL 中的数据

sql - 使用 case 语句进行计数来查找范围

sql - 如何在没有完整外连接的情况下进行完整外连接

sql - Sybase - FROM 子句中的子查询

python - 如何查询多对多关系中的空记录