sql-获取括号之间的文本

enxuqcxy  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(458)

我有这样的文字:

San Demetrio Corone (CS)
Villanova Tulo (NU)

我需要把文本放在括号里,是我做的

SELECT SUBSTRING(a.place, CHARINDEX('(', a.place) + 1, CHARINDEX(')', a.place, CHARINDEX('(', a.place)+ 1)  - CHARINDEX(')', a.place) - 1)
FROM tab1 a

但是我得到了关于长度参数的错误,这有什么错?

4nkexdtk

4nkexdtk1#

你的长度输入到 SUBSTRING 关闭。长度应为右括号和右括号之间的位置差,偏移量应小于1。

SELECT
    place,
    SUBSTRING(place,
              CHARINDEX('(', place) + 1,
              CHARINDEX(')', place) - CHARINDEX('(', place) - 1) AS abbr
FROM tab1;

演示

相关问题