『壹』 sql語句 查詢欄位中包含某個數字的列信息
select * from info where (',' + id + ',') like ('%,' + '9' +',%')
『貳』 SQL中如何查詢欄位中是否包含指定數字
where條件這樣寫試試
wherenumlike'1,%'ornumlike'%,1,%'ornumlike'%,1'
『叄』 sql語句 查詢欄位中包含某個數字的列信息
select * from 表 where ','+列4+',' like('%,2,%')
一般情況下,像這種序列填充列,在設計時不會在列中的前後加逗號,可能的數據:
2 或者 2,22 又或者 0,1,2
所以一般放在查詢中人為的給列值前後加逗號,再模糊匹配.
『肆』 SQL怎麼取字元串中的數字
1、創建測試表,
create table test_str(id int, v_str varchar2(20));
『伍』 如何把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查詢語句結果集數目如何獲取
1、創建測試表,插入數據:
createtabletest
(idint)
insertintotestvalues(1)
insertintotestvalues(2)
insertintotestvalues(3)
insertintotestvalues(null)
2、查詢記錄數為兩種,一種是count(*),一種是count(欄位值):
測試一:
selectcount(*)fromtest
結果:
說明:如果count(欄位名)的欄位中含有空值,則在count中不計數,而count(*)則是查詢全部的行數。