㈠ 如何把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%'