怎么把字段值括号里的内容和括号外的调换位置

ajdkjalj 2018-04-20 11:18:04
比如A字段
A
123456(abc)
abc(def)

这种的数据,有括号的都把括号内的字符和括号外的调换位置,变成abc(123456),def(abc)的
...全文
461 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2018-04-20
  • 打赏
  • 举报
回复
引用 2 楼 ajdkjalj 的回复:
[quote=引用 1 楼 wmxcn2000 的回复:]


 create table test(A varchar(20))
 go
 insert into test values('123456(abc)'),('abc(def)')
 go
 select A, 
 substring(A, charindex('(',A, 0) + 1, charindex(')',A, 0) - charindex('(',A, 0) -1),
 substring(A, 0, charindex('(',A, 0)) 
 
 from test 
 go
 drop table test 
 go


(2 行受影响)
A                                         
-------------------- -------------------- --------------------
123456(abc)          abc                  123456
abc(def)             def                  abc

(2 行受影响)


不是分开的,是调换了下,括号还在,查询结果是 A abc(123456) def(abc)[/quote] 都拆出来了,你就自己拼一下吧;
中国风 2018-04-20
  • 打赏
  • 举报
回复
e.g.
use Tempdb
go
--> --> 中国风(Roy)生成測試數據
 
declare @t table([A] nvarchar(31))
Insert @t
select N'123456(abc)' union all
select N'abc(def)'
 
SELECT A=LEFT(Col1,LEN(Col1)-1)+'('+Col2+')' FROM (Select RIGHT(A,CHARINDEX('(',REVERSE(A))-1) AS Col1,LEFT(A,CHARINDEX('(',A)-1) AS Col2 from @t) AS t
/*
A
abc(123456)
def(abc)
*/
ajdkjalj 2018-04-20
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:


 create table test(A varchar(20))
 go
 insert into test values('123456(abc)'),('abc(def)')
 go
 select A, 
 substring(A, charindex('(',A, 0) + 1, charindex(')',A, 0) - charindex('(',A, 0) -1),
 substring(A, 0, charindex('(',A, 0)) 
 
 from test 
 go
 drop table test 
 go


(2 行受影响)
A                                         
-------------------- -------------------- --------------------
123456(abc)          abc                  123456
abc(def)             def                  abc

(2 行受影响)


不是分开的,是调换了下,括号还在,查询结果是 A abc(123456) def(abc)
卖水果的net 2018-04-20
  • 打赏
  • 举报
回复


 create table test(A varchar(20))
 go
 insert into test values('123456(abc)'),('abc(def)')
 go
 select A, 
 substring(A, charindex('(',A, 0) + 1, charindex(')',A, 0) - charindex('(',A, 0) -1),
 substring(A, 0, charindex('(',A, 0)) 
 
 from test 
 go
 drop table test 
 go


(2 行受影响)
A                                         
-------------------- -------------------- --------------------
123456(abc)          abc                  123456
abc(def)             def                  abc

(2 行受影响)


27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧