① sql server 中怎样从字段中取数字
selectSUBSTRING(规格,CHARINDEX('*',规格)+1,len(规格)-CHARINDEX('*',规格)-patindex(N'%[1234567890]%',reverse(SUBSTRING(规格,CHARINDEX('*',规格)+1,len(规格)-CHARINDEX('*',规格))))+1)fromtest
不如出库以后再处理。
② SQL怎么取字符串中的数字
1、创建测试表,
create table test_str(id int, v_str varchar2(20));
③ sql语句在一个字段中提取数字
select regexp_substr('水库新村332号','[0-9]+' ) from al;--用正则表达式取出数字
select regexp_substr('水库新村332号','[[:digit:]]+') from al;
④ SQL-提取字符串中,两个不同字符中间的数字
题主你好,
试试:
select regexp_substr(字段名,"(?<=:).*(?=\})") from 表名;
-----
希望可以帮到题主,欢迎追问.
⑤ SQL怎样取出字符串中的数字
select
casewhenb.FModellike'%=%'thenSUBSTRING(b.FModel,CHARINDEX('=',b.FModel)+1,LEN(b.FModel)-CHARINDEX('=',b.FModel))
whenb.FModellike'%*%'thenSUBSTRING(b.FModel,0,LEN(b.FModel)-CHARINDEX('*',b.FModel))
endas长度
⑥ SQL中怎样提取纯数字或者纯字母的字段
完全按照DB2语法设计:
drop function TEST
go
create function test(@input varchar(100))
returns int
begin atomic
declare @int int default 0;
declare @input_lenght int default 0;
set @input_lenght = length(@input);
while @input_lenght <> 0 do
if ( substr(@input,length(@input) - @input_lenght +1,1) in ('0','1','2','3','4','5','6','7','8','9') ) then
set @int = @int + 0;
elseif ( substr(@input,length(@input) - @input_lenght +1,1) in ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z')) then
set @int = @int - 1;
end if;
set @input_lenght = @input_lenght -1;
end while;
if ( @int = 0 or @int = -1* length(@input)) then --- 如果累积为0全是数字;如果累积正好是-1乘以长度则正好全是字段
return 0;
else
return 1;
end if;
end
go
select test ('123456') from sysibm.al 结果是 0
select test ('123b456a') from sysibm.al 结果是 1
select test ('abcdefg') from sysibm.al 结果是 0
⑦ sql,字符串中取数字
1、创建测试表,
create table test_str(id int, v_str varchar2(20));
⑧ 在SQLServer中如何把列中包含的数字提取出来
一条记录时采用以下方法:使用PATINDEX函数找出字符串中第一次出现数字的位置
declare
@aa
varchar(80),----INFO列
@bb
varchar(80)
set
@aa
='你好12按时地方'
set
@bb=''
while
PATINDEX('%[0-9]%',@aa)<>0
/*每次循环找出一个数字*/
begin
set
@bb
=
@bb+substring(@aa,PATINDEX('%[0-9]%',@aa),1)/*把找出来的数字进行相加*/
set
@aa=substring(@aa,1,PATINDEX('%[0-9]%',@aa)-1)+
substring(@aa,PATINDEX('%[0-9]%',@aa)+1,len(@aa)-PATINDEX('%[0-
9]%',@aa))
/*把找出来的数字从原先的字符串中踢除出来,然后再循环找出更多的数字*/
end
select
@bb/*要求得到的结果*/
要对一张表中的所有记录进行查询时,可以把上面的语句改写成一个存储过程,采用游标进行处理,并把找出来的记录插入到相应的虚拟表里面,即可得到你想要的结果
⑨ SQL语句提取字符串中数字
问题确认:你是要提取以下划线(_)为分隔符的字串的第三个子字串。
答案:
select
dbo.getpara('14层_303盘区_5307工作面',3,'_')
条件:先要再数据库中加入这个自定议函数。这里免费奉献给你一个有用的函数,用于按指定分隔符提取字串。
create
function
getpara
(@sql
nvarchar(3000),--要分割的原字串。
@sn
int,
--要取第几个
@deli
varchar(1))--分隔符
returns
varchar(1000)--返回值
as
begin
declare
@first
int,@last
int,@result
varchar(1000),@sn0
int
select
@sn0=0,@first=0,@last=1,@sql=@sql+replicate(@deli,5)
while
@sn0!=@sn
begin
select
@sn0=@sn0+1,@first=@last,@last=charindex(@deli,@sql,@last)+1
end
set
@result=substring(@sql,@first,@last-@first-1)
return
(
@result
)
end
go
⑩ SQL 如何取出数据库中一列的所有值.....
1、首先需要输入名称和密码登陆服务器。