sql server 2005 语句应该怎么写?

索书号D261/7733D261/8762F715/1228TP393/5334TP393.4/5566TS976.15/7710DF432.1/4178F23-44/5... 索书号D261/7733D261/8762F715/1228TP393/5334TP393.4/5566TS976.15/7710DF432.1/4178F23-44/5637
只要前面的大写字母,比如D、F、TP、TS等,作为新的一列插入表中。这个表的名称假设是a
展开
 我来答
badkano
2013-11-19 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部

你这个得创建一个自定义函数

 

先建立一个测试表

create table test
(content varchar(100))

insert into test values('D261/7733')
insert into test values('D261/8762')
insert into test values('F715/1228')
insert into test values('TP393/5334')
insert into test values('TP393.4/5566')
insert into test values('TS976.15/7710')
insert into test values('DF432.1/4178')
insert into test values('F23-44/5637')

创建函数

create function [dbo].[m_getstr]
(@maco varchar(100))
returns varchar(max)
as
begin
 while patindex('%[^a-z]%',@maco)>0
  begin
   set @maco=stuff(@maco,patindex('%[^a-z]%',@maco),1,'')
  end
 return @maco
end

调用函数

select dbo.[m_getstr](content) from test

结果

 

自行对比一下吧

更多追问追答
追问
是这样的,我的数据有几万条,测试表怎么办?
追答
你数据不在表里吗?
在表里直接调用函数,不在表里就给导进去啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式