當前位置:首頁 » 編程語言 » sql怎麼提取欄位列中的數字
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql怎麼提取欄位列中的數字

發布時間: 2022-05-25 18:01:12

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、首先需要輸入名稱和密碼登陸伺服器。