嗨,如何选择从单元格右侧开始的一对 ( ) 之间的整数?原因是,可能还有另一对包含字符的括号

如果某些记录由于某种原因没有右括号怎么办..

例如
期间 |节目名称 |
简 | ABC ( child ) (30) |
二月 | Hello World (20T (20) |

结果:
30
20

我有这个脚本,

选择期间,节目名称,
substring(ProgrammeName,(len(ProgrammeName) - (patindex('%(%', Reverse(ProgrammeName)))+2),(len(ProgrammeName)-1))
从表

但它只显示
30)
20)

我一直在操纵它,以便它不会提取“)”,但可以得到预期的
结果。

最佳答案

如果您想准备数据以进行标准化,则快速而肮脏;

select substring(fld, patindex('%([0-9]%)', fld) + 1, len(fld) - case patindex('%([0-9]%)', fld) when 0 then 0 else patindex('%([0-9]%)', fld) + 1 end)

关于SQL Server - 选择括号 ( ) 之间的整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3263148/

10-10 06:46