SQL语句中,如何只取字段值的后几个字符?

时间:2022-11-15 15:29:57
以前的字段中的内容是这个格式:(***)***
我现在只想要()后边的内容
该如何写呢?

13 个解决方案

#1


用RIGHT ( character_expression , integer_expression ) 函数
SELECT RIGHT(au_fname, 5) 
FROM authors
ORDER BY au_fname

#2


用charindex 和substring

#3


Right(字段,8) 返回字段字符串中从右边开始指定8个字符。

#4


select right(字段,len(字段)-charindex(')',字段))

#5


select right(field,len(field) - CHARINDEX(')', field)) from table
field:字段
table:表

#6


declare @a nvarchar(50)
set @a='(1234567)abcdefghigklmnfdsfdsfszzzzfgggd'

select SUBSTRING(@a, CHARINDEX(')', @a, 0)+1, len(@a)  -  CHARINDEX(')', @a, 0)) AS a

#7


()外边的字符长度不确定

#8


select right(字段,len(字段)-charindex(')',字段)) from 表

--你到底要的是后面的还是外面的

#9


我要外边的

#10


Mid( x,Y)
x為內容,Y為你想要開始取數的位置

#11


select substring('(sdfdf)fred',charindex(')','(sdfdf)fred')+1,datalength('(sdfdf)fred')-charindex(')','(sdfdf)fred'))


#12


declare @a varchar(20),@left int ,@right int
set @a='1234(56789)ab'
set @left=charindex('(',@a)
set @right=charindex(')',@a)
set @right=@right-@left+1
select stuff(@a,@left,@right,'')

#13


学习下,不知道哪个比较好用

#1


用RIGHT ( character_expression , integer_expression ) 函数
SELECT RIGHT(au_fname, 5) 
FROM authors
ORDER BY au_fname

#2


用charindex 和substring

#3


Right(字段,8) 返回字段字符串中从右边开始指定8个字符。

#4


select right(字段,len(字段)-charindex(')',字段))

#5


select right(field,len(field) - CHARINDEX(')', field)) from table
field:字段
table:表

#6


declare @a nvarchar(50)
set @a='(1234567)abcdefghigklmnfdsfdsfszzzzfgggd'

select SUBSTRING(@a, CHARINDEX(')', @a, 0)+1, len(@a)  -  CHARINDEX(')', @a, 0)) AS a

#7


()外边的字符长度不确定

#8


select right(字段,len(字段)-charindex(')',字段)) from 表

--你到底要的是后面的还是外面的

#9


我要外边的

#10


Mid( x,Y)
x為內容,Y為你想要開始取數的位置

#11


select substring('(sdfdf)fred',charindex(')','(sdfdf)fred')+1,datalength('(sdfdf)fred')-charindex(')','(sdfdf)fred'))


#12


declare @a varchar(20),@left int ,@right int
set @a='1234(56789)ab'
set @left=charindex('(',@a)
set @right=charindex(')',@a)
set @right=@right-@left+1
select stuff(@a,@left,@right,'')

#13


学习下,不知道哪个比较好用