當前位置:首頁 » 凈水方式 » sql過濾數字

sql過濾數字

發布時間: 2021-03-22 17:35:56

Ⅰ SQL 查詢語句問題(過濾數字)

select * from tab where cn not like '%[0-9]%'

Ⅱ 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 去除欄位中非數字字元

思路:找到第二個$,更新數據為$後面的
實例:

UPDATE A
SET A.a1 = (
SUBSTR(a1, INSTR(a1, $, '2') + 1, LENGTH(a1))
)

Ⅳ 用SQL語句實現數據篩選

--將欄位條件篩選建立臨時表
selecttop100*
into#temp
fromtable
wherenamenotin("%批發%","不含'%廠")
andregionin("餐飲",..."副食")--填寫完每個經營面

--返回數據表,企業數和個體戶,這個區分不知道用什麼,所以第二個欄位還需要改
selectprovince,count(distinctname)asnum_company,
casewhenname="個體戶"thencount(distinctname)asnum_indivial
from#temp

Ⅳ sql 語句 急!!!! 數據將英文和數字去掉,只保留漢字的sql語句

1、創建測試表,

create table test_replace_str(value varchar2(200));

4、編寫語句,將英文和回數字去掉答,只保留漢字;

select t.*, regexp_replace(value, '[a-zA-Z0-9]', '') sec

from test_replace_str t;

Ⅵ 如何使用SQL語句把字元欄位里的數字篩選出來

可以參考使用如下寫法
如果要全部數據則可以

select * from table T1 where 欄位 = (select max(欄位) from table T2 where T1.欄位2 = T2.欄位2)

select * from table T1 where not exists(select * from table T2 where T1.欄位2 = T2.欄位2 and T1.欄位 < T2.欄位

如果只是數據行數則可以
select count(distinct 欄位)from table

Ⅶ 用sql查詢時,怎麼判斷欄位中是否含有數字,如果有就把數字去掉

/*
用正則表達式或者自定義函數
下面是用正則表達式的代碼
如果報錯的話,需要開啟OleAutomationProceres

execsp_configure'showadvancedoptions',1;
RECONFIGURE;
execsp_configure'OleAutomationProceres',1;
RECONFIGURE;
execsp_configure'showadvancedoptions',0;
RECONFIGURE;
*/
--能按正則表達式替換的函數
CreateFunction[dbo].[MyReplace](@RegVarchar(1000),@SourceVarchar(4000),@StrVarchar(1000))
returnssql_variant
As
Begin
Declare@ErrInt
Declare@objInt
Declare@Rstsql_variant

EXEC@Err=Sp_OACreate'VBScript.RegExp',@objOUTPUT
If@Err<>0GoToLB

EXEC@Err=Sp_OASetProperty@obj,'Pattern',@Reg
If@Err<>0GoToLB

EXEC@Err=Sp_OASetProperty@obj,'Global','True'
If@Err<>0GoToLB

EXEC@Err=Sp_OASetProperty@obj,'IgnoreCase','False'
If@Err<>0GoToLB

EXEC@Err=Sp_OAMethod@obj,'Replace',@RstOUTPUT,@source,@Str
If@Err<>0GoToLB

EXEC@Err=Sp_OADestroy@obj
If@Err<>0GoToLB

Return@Rst
LB:
EXECSp_OADestroy@obj
RETURNNull
End

--查詢(把所有數字替換為空)
selectdbo.myreplace('d',欄位,'')from表

Ⅷ SQL 過濾字元欄位值

select * from spk where isnumeric(spbh)=0

解釋:
ISNUMERIC

確定表達式是否為一個有效的數字類型。

語法

ISNUMERIC ( expression )

參數

expression

要計算的表達式。

返回類型

int

注釋

當輸入表達式得數為一個有效的整數、浮點數、money 或 decimal 類型,那麼 ISNUMERIC 返回 1;否則返回 0。返回值為 1 確保可以將 expression 轉換為上述數字類型中的一種。

Ⅸ sql查詢過濾掉數字,現表A中有一個字元串student_id欄位,裡面存的應該是126356546這樣的字元串

/*
方案一:
把student_id不是數字的取出來,然後用是數字最大的一個student_id+記錄號進行編號(這里考慮student_id是主鍵不能重復的情況)
然後把這個編號更新給student_id
*/
With CT
As
(
Select student_id,(Select MAX(student_id) From T
Where isnumeric(student_id)=1)+ROW_NUMBER()Over(Order By student_id)
As cnt From T
Where isnumeric(student_id)=0
)
Update CT Set student_id=cnt

/*
方案二
不是數字的id,分別把裡面的字母A替換為1,B替換為2,依次
思路
把不是字母id的,按字母拆分,然後把他的Ascii-64再合並成一個字元串
最後用這個字元串更新給id
(不能保證關鍵是否重復)
*/
With CT
As
(
Select student_id,SUBSTRING(student_id,1,1) As Tmp,1 As LV From T Where ISNUMERIC(student_id)=0
Union All
select student_id,SUBSTRING(student_id,LV+1,1) ,LV+1 From CT Where LV<LEN(student_id)
)
Update T Set student_id=Rst
From(
Select student_id,
(Select Convert(Varchar(2),Unicode(Upper(Tmp))-64) From CT
Where student_id=A.student_id
For XML Path('')) AS Rst
FROM CT A
Group By student_id) s
Where T.student_id=s.student_id

Ⅹ SQL中select語句如何過濾出欄位中第1位數字元合設定條件的行

SELECT * FROM 表名 WHERE (列名 LIKE '4%')
SELECT * FROM 表名 WHERE (列名 NOT LIKE '4%')

熱點內容
丁度巴拉斯情人電影推薦 發布:2024-08-19 09:13:07 瀏覽:886
類似深水的露點電影 發布:2024-08-19 09:10:12 瀏覽:80
《消失的眼角膜》2電影 發布:2024-08-19 08:34:43 瀏覽:878
私人影院什麼電影好看 發布:2024-08-19 08:33:32 瀏覽:593
干 B 發布:2024-08-19 08:30:21 瀏覽:910
夜晚看片網站 發布:2024-08-19 08:20:59 瀏覽:440
台灣男同電影《越界》 發布:2024-08-19 08:04:35 瀏覽:290
看電影選座位追女孩 發布:2024-08-19 07:54:42 瀏覽:975
日本a級愛情 發布:2024-08-19 07:30:38 瀏覽:832
生活中的瑪麗類似電影 發布:2024-08-19 07:26:46 瀏覽:239