求一SQL
时间:2011-11-22
来源:互联网
原数据 年 编号 XXX[2009]XX号 XXXX[2009]XX号 XXX[2010]X号 XXXX[2011]XXX号 得到结果 年 编号 2009 XXX[2009]XX号 2009 XXXX[2009]XX号 2010 XXX[2010]X号 2011 XXXX[2011]XXX号
作者: stmn1320 发布时间: 2011-11-22
select 年 = substring(编号 , charindex('[',编号) + 1 , charindex(']',编号) - charindex('[',编号) - 1) , 编号 from tb
作者: dawugui 发布时间: 2011-11-22
create table tb(年 int,编号 nvarchar(20)) insert into tb(编号) select 'XXX[2009]XX号' insert into tb(编号) select 'XXXX[2009]XX号' insert into tb(编号) select 'XXX[2010]X号' insert into tb(编号) select 'XXXX[2011]XXX号' go update tb set 年=SUBSTRING(编号,CHARINDEX('[',编号)+1,charindex(']',编号)-CHARINDEX('[',编号)-1) select * from tb /* 年 编号 ----------- -------------------- 2009 XXX[2009]XX号 2009 XXXX[2009]XX号 2010 XXX[2010]X号 2011 XXXX[2011]XXX号 (4 行受影响) */ go drop table tb
作者: qianjin036a 发布时间: 2011-11-22
select substring(编号,charindex('[',编号)-1,charindex(']',编号)-charindex('[',编号)) 编号 from tb
作者: ssp2009 发布时间: 2011-11-22
作者: yubofighting 发布时间: 2011-11-22
select 年 = substring(编号 , charindex('[',编号) + 1 , charindex(']',编号) - charindex('[',编号) - 1) , 编号 from tb where
charindex('[',编号) > 0 and charindex(']',编号) > 0 and charindex('[',编号) < charindex(']',编号)
作者: dawugui 发布时间: 2011-11-22
--> 测试数据:#tb if object_id('tempdb.dbo.#tb') is not null drop table #tb create table #tb([年] varchar(10),[编号] varchar(20)) insert #tb select '','XXX[2009]XX号' union all select '','XXXX[2009]XX号' union all select '','XXX[2010]X号' union all select '','XXXX[2011]XXX号' select substring([编号],charindex('[',[编号])+1,charindex(']',[编号])-charindex('[',[编号])-1) as [年],[编号] from #tb where charindex('[',[编号])>0 and charindex(']',[编号])>0 /* 年 编号 -------------------- -------------------- 2009 XXX[2009]XX号 2009 XXXX[2009]XX号 2010 XXX[2010]X号 2011 XXXX[2011]XXX号 (4 行受影响) */
作者: Beirut 发布时间: 2011-11-22
select substring(编号,charindex('[',编号)-1,charindex(']',编号)-charindex('[',编号)) 编号 from tb
作者: fredrickhu 发布时间: 2011-11-22
if object_id('t1') is not null drop table t1 go create table t1([年] varchar(10),[编号] varchar(50) ) go insert t1 select null,'XXX[2009]XX号' union all select null,'XXXX[2009]XX号' union all select null,'XXX[2010]X号' union all select null,'XXXX[2011]XXX号' go select substring([编号],charindex('[',[编号])+1,4) as [年],[编号] from t1 /* (所影响的行数为 4 行) 年 编号 ---- ----- 2009 XXX[2009]XX号 2009 XXXX[2009]XX号 2010 XXX[2010]X号 2011 XXXX[2011]XXX号 */ go drop table t1
作者: xiaolinyouni 发布时间: 2011-11-22
use Tempdb go --> --> if not object_id(N'Tempdb..#T') is null drop table #T Go Create table #T([年] NVARCHAR(4),[编号] nvarchar(20)) Insert #T select null,N'XXX[2009]XX号' union all select null,N'XXXX[2009]XX号' union all select null,N'XXX[2010]X号' union all select null,N'XXXX[2011]XXX号' Go DECLARE @s NVARCHAR(20) UPDATE #T SET [年]=left(@s,CHARINDEX(']',@s)-1),@s=STUFF([编号],1,CHARINDEX('[',[编号]),'') go SELECT * FROM #T /* 年 编号 2009 XXX[2009]XX号 2009 XXXX[2009]XX号 2010 XXX[2010]X号 2011 XXXX[2011]XXX号 */
作者: roy_88 发布时间: 2011-11-22
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28