当前位置:首页 » 编程语言 » 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' +',%')