sql - 获取括号内的文本
sql - getting text between parentheses
我有这样的文字:
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
但是我收到关于长度参数的错误,这是怎么回事?
您对 SUBSTRING
的长度输入已关闭。长度应该是右括号和左括号之间的位置差,减一。
SELECT
place,
SUBSTRING(place,
CHARINDEX('(', place) + 1,
CHARINDEX(')', place) - CHARINDEX('(', place) - 1) AS abbr
FROM tab1;
演示
我有这样的文字:
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
但是我收到关于长度参数的错误,这是怎么回事?
您对 SUBSTRING
的长度输入已关闭。长度应该是右括号和左括号之间的位置差,减一。
SELECT
place,
SUBSTRING(place,
CHARINDEX('(', place) + 1,
CHARINDEX(')', place) - CHARINDEX('(', place) - 1) AS abbr
FROM tab1;