㈠ 如何把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
说明这个函数对字段值中全是数字但是数字间用“,”和“.”(逗号或点)隔开的都视为数字了!
㈡ sqlserver查找所有表中是否包含字符并替换
将text替换成你要查找的内容
select name
from sysobjects o, syscomments s
where o.id = s.id
and text like '%text%'
and o.xtype = 'P'
㈢ Sql Server 计算某个字符 在字符串中有多少
引言:比如有一个字符串“oiddiaj/j9jkl/88ol”,想要计算字符串中/的个数,用到len这个方法
[sql] view plain
len('oiddiaj/j9jkl/88ol')-len(replace('oiddiaj/j9jkl/88ol','/',''))
想判断某个字符包含在某个字段内可以用charindex函数
㈣ sqlserver快速查找所有存储过程中是否包含某
在sql server中快速查看存储过程中的内容是否包含特殊的字符,如下所示:
mssql-查找存储过程包含的字符串
主要根据两张系统表,查找出存储过程中的内容
请采纳,如有疑问,及时沟通!
㈤ sqlserver快速查找所有存储过程中是否包含某字符
通常的做法是将存储过程生成脚本,再到脚本文件中查找特定字符串
㈥ sqlserver 删除某表中某列中所有包含特殊字符的数据
如果你要截取的字符只在最前方出现,还比较简单
给你做个试验
创建测试表
createtabletest
(contentvarchar(100))
insertintotestvalues('IPHONE5S<li><aherf=''></a></li>')
insertintotestvalues('htc<li><aherf=''></a></li>')--我在你基础上又加了条数据
执行
selectSUBSTRING(content,1,CHARINDEX('<li>',content)-1)fromtest
结果
㈦ 在sql server中怎么查询包含某个字符串所有表
给你一个全库搜索的存储过程
不懂的QQ 624028873再问我
if exists(select * from dbo.sysobjects where id = object_id(N'[dbo].[p_search]') and OBJECTPROPERTY(id,N'IsProcere') = 1)
drop procere [dbo].[p_search]
GO
--搜索某个字符串在那个表的那个字段中
create proc p_search
@str Nvarchar(1000) --要搜索的字符串
as
if @str=''
return
declare @s Nvarchar(4000)
create table #t(t sysname,a sysname)
declare tb cursor local for
select s='if exists(select 1 from ['+replace(b.name,']',']]')+'] where ['+a.name+'] like '''+ @str +''')
print ''所在的表及字段: ['+b.name+'].['+a.name+']'''
from syscolumns a join sysobjects b on a.id=b.id
where b.xtype='U' and a.status>=0
and a.xtype in(175,239,99,35,231,167)
open tb
fetch next from tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch next from tb into @s
end
close tb
deallocate tb
㈧ sqlserver数据库中怎么查询某个字段中含有某些字
一、举个例子
表名为zwj,字段为sp,查询sp字段中含有'所有'的语句为select*fromzwjwheresplike'%所有%'--表名为zwj,字段为sp,查询sp字段中含有'所'或'有'的语句为select*fromzwjwheresplike'%所%'orsplike'%有%'
二、含有医院编号字段的所有表
selecta.[name]表名fromsysobjectsa,
( select[id],count(*)bfromsyscolumns
where[name]='HospitalId'
groupby[id])
bwherea.[id]=b.[id]
三、同时含有医院编号和科室编号字段的所有表
selecta.[name]表名fromsysobjectsa
leftjoin
(select[id],count(*)bfromsyscolumnswhere[name]
in('HospitalId','DepartmentId')groupby[id]havingcount(*)>1)b
ona.[id]=b.[id]
whereb.idisnotnull
㈨ 在SQLSERVER中如何检测一个字符串中是否包含另一个字符串
--当charindex返回值大于0时则包含为0不包含
selectCHARINDEX('456','123456')
㈩ sqlserver字符串问题
select ptss from table where ptss like '%197%' and ptss like '%199%' and ptss like '%201%'