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

sql怎麼查出包含有數字的欄位

發布時間: 2023-03-05 19:58:10

sql中如何查詢欄位中是否包含指定數字

where條件這樣寫試試

wherenumlike'1,%'ornumlike'%,1,%'ornumlike'%,1'

㈡ 如何在sql語句中查詢只帶數字的欄位

你應該希望提取的欄位只要含有數字就提出,剔除空和不含數字的字元串。

select * from table where regexp_substr(check,'[0-9]+') is not null

㈢ 用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 SERVER中一個含有數字的字元串找出來

在SQL SERVER 2005中,將表中字元串轉換為數字的函數共2個:
1. convert(int,欄位名) 例如:select convert(int,'3')
2. cast(欄位名 as int) 例如:select cast('3' as int)
其實,一般情況下沒有必要把字元串轉換為數字類型
假如需要比較兩個欄位是否相等,但是一個欄位為字元串類型,一個為數字類型,用「=」比較兩個值是否相等時,SQL SERVER會自動把字元串轉換為數字再比較的!
例如:
select da.TITLE_NAME,dsc.NAME
from dbo.DV_DUTY dd
inner join DV_SECOND_CLASS dsc on (dsc.ID=dd.AREA)
left join DV_ASSET da on(da.ID=dd.RECORD_ID and dd.TYPE='2')
where dd.AREA is not null
這個SQl中,inner join DV_SECOND_CLASS dsc on (dsc.ID=dd.AREA) 中dsc.ID為數字類型,dd.AREA為字元類型,相當於這樣on(1='1')的判斷,這時候就會自動吧字元串的'1'轉換為數字類型再比較的。
但是也有弊端,一旦字元類型轉換為數字類型出錯(說明字元串的確就非數字組成的),SQL就會拋出異常。

SQL SERVER 2005中有判斷欄位是否為數字的函數:
ISNUMERIC(欄位名) -----假如欄位是數字類型返回1,不是就返回0
但是好像有的時候不好使,比如:select isnumeric('3,34') 就返回1
說明這個函數對欄位值中全是數字但是數字間用「,」和「.」(逗號或點)隔開的都視為數字了!

㈤ sql語句 查詢欄位中包含某個數字的列信息

select * from 表 where ','+列4+',' like('%,2,%')
一般情況下,像這種序列填充列,在設計時不會在列中的前後加逗號,可能的數據:
2 或者 2,22 又或者 0,1,2
所以一般放在查詢中人為的給列值前後加逗號,再模糊匹配.

㈥ SQL怎麼查詢某一個數字在欄位中

select * from test where value like '4'

你只要用查詢器打開資料庫test
然後輸入上面語句。
搜索結果就會出來了。 。

上面兩個一個創建表和插入數據的。

跟查詢沒關系的。。

㈦ sql語句 查詢欄位中包含某個數字的列信息

select * from info where (',' + id + ',') like ('%,' + '9' +',%')