這樣的話,給你一個思路,你先根據這個庫,查找裡面所有表名,然後再根據表名,查找欄位名,然後再查找所有不是數字或者是二進制的欄位進行搜索,當然這個需要多次循環,多次調用,肯定是很麻煩的!肯定得使用游標,雖然效率低,但是這個是唯一的一個辦法:declare @tabName VARCHAR(40) declare @colName VARCHAR(40)DECLARE @sql nVARCHAR(2000)
set @sql = '';
DECLARE tabCursor CURSOR FOR sELECT name From sysobjects WHERE xtype = 'u' --查找庫中所有的表OPEN tabCursorFETCH NEXT FROM tabCursor INTO @tabName
WHILE @@fetch_status = 0
BEGIN
-- SET @sql = 'UPDATE ' + @tabName + ' SET '
DECLARE colCursor CURSOR FOR Select Name FROM SysColumns Where id=Object_Id(@tabName) --查找表中所有的欄位
OPEN colCursor
FETCH NEXT FROM colCursor INTO @colName
set @sql = ' select 1 from '+@tabName+ ' where '+ @colName +' like ''%10%'' '
WHILE @@fetch_status = 0
BEGIN
-- SET @sql = @sql + @colName + '=REPLACE(' +@colName+ ',''XX'',''''),'
set @sql += CHAR(10)+CHAR(13)+ ' select 1 from '+@tabName+ ' where '+ @colName +' like ''%10%'' '
FETCH NEXT FROM colCursor INTO @colName
END
-- SET @sql = LEFT(@sql,LEN(@sql)-1)
-- print @sql
EXEC(@sql)
CLOSE colCursor
DEALLOCATE colCursor
FETCH NEXT FROM tabCursor INTO @tabName
ENDCLOSE tabCursorDEALLOCATE tabCursor 此方法經過驗證,但是需要你進行簡單的修改!
『貳』 sql 兩個欄位都是逗號隔開 怎麼精確查找某個值
/*
你是這個意思:
wid=1 wname=weibo 查詢結果是id=1
wid=2 wname=qq 查詢結果是id=1
wid=2 wname=weibo 查詢結果是id=3
*/
--先創建一個函數,用來拆分欄位值
Create Function f_split1(@SourceSql Varchar(8000),@StrSeprate Varchar(2))
Returns @temp Table(id Int Identity(1,1), col Varchar(100))
As
begin
Declare @ch as Varchar(100)
Set @SourceSql=@SourceSql+@StrSeprate
While(@SourceSql<>'')
Begin
Set @ch=left(@SourceSql,Charindex(@StrSeprate,@SourceSql,1)-1)
Insert @temp(col) Values(@ch)
Set @SourceSql=Stuff(@SourceSql,1,Charindex(@StrSeprate,@SourceSql,1),'')
End
Return
End
Go
--以下是查詢代碼
Select * From (
Select T.id,A.col As Wid,B.col As WName From T
Cross Apply dbo.f_split1(wid,',') A
Cross Apply dbo.f_split1(wname,',') B
where A.id=B.id) S
Where Wid='2' And WName='qq'
--解釋,把欄位按逗號拆分後,按自增id關聯起來,及wid的第一個值跟wname的第一個值關聯,以後依次,然後用等號查詢你要的值
『叄』 請問怎麼用sql語句查找整個資料庫里的某個數據
可用group by…having來實現。
可做如下測試:
1、創建表插入數據:
createtabletest
(idint,
namevarchar(10))
insertintotestvalues(1,'張三')
insertintotestvalues(2,'李四')
insertintotestvalues(3,'張三')
insertintotestvalues(4,'王五')
insertintotestvalues(5,'趙六')
其中name是張三的有兩行,也就是重復行。
2、執行sql語句如下:
select*fromtestwherenamein
((*)>1)
結果如圖:
『肆』 sql中如何通過一個值查找對應的另一個值,sql語句寫法
第一種寫法:select a.kdID from kdinfo a, order b where a.OrdID = b.OrdID and b.OrdID = '你想查的訂單號'
第二種寫法:select a.kdID from kdinfo a inner join order b on a.OrdID = b.OrdID where b.OrdID = '你想查的訂單號'
『伍』 sql如何同時查找兩個值
如果你想找shenfenzheng為某值並且number為某值的記錄就用這個
sql = "select * from zyserch where shenfenzheng='" & shenfenzheng & "' and number='"& number &"'"
如果你想找shenfenzheng為某值 或者 number為某值的記錄就將上面的and改為or
如果number這個欄位是數字型的,就要將number='"& number &"'"
改為number="& number也就是去掉「'」
『陸』 sql怎麼根據一個列查找另一個列對應數據
需要用連接查詢來處理。 如有以下2張表: 查詢2張表id和name欄位內容完全相同的內容,可用如下語句: select a.* from test a,test1 b where a.id=b.id and a.name=b.name;結果: 說明,兩表連接where條件要寫上關聯條件,因為提問是兩個欄位完..
『柒』 sql如何查找一個表裡的某一個值
這樣你要查系統表,獲取所有表和欄位名,拼接成帶條件的查詢語句,利用工具批量執行,找出有返回記錄的sql即可。
『捌』 使用SQL命令在資料庫中查找指定的值
SQL沒有from all這樣的寫法的,要的話只能寫:
DECLARE c_cursor CURSOR FOR
(
select a.name From sysobjects a
inner join syscolumns b
on (a.id=b.id)
where a.xtype='U' and b.name=『產品編號'
)
---通過欄位名查詢表名
DECLARE @tablename varchar(100)
declare @sql varchar(max)
OPEN c_cursor
FETCH NEXT FROM c_cursor
WHILE @@FETCH_STATUS = 0
BEGIN
set @sql='select * from ' + @tablename + ' 產品編號=1314'
exec (@sql)
FETCH NEXT FROM c_cursor into @tablename
END
CLOSE c_cursor
DEALLOCATE c_cursor
go
『玖』 SQL在知道表名但是不知道列名的情況下如何全局搜索某一個值
不可以
不過可以根據欄位查詢表名
然後在查詢
select a.name as TableName,b.name as ColName From sysobjects a
inner join syscolumns b on (a.id=b.id)
where a.xtype='U' and b.name=欄位名
這裡面的是根據欄位名來查詢的,如果要想根據欄位值來查詢,需要在此基礎上用游標來查了
『拾』 sql兩表聯合查詢「根據這兩個欄位值相同 查找其他欄位值」怎麼做
通過在關聯的時候,強制指定排序規則,來避免沖突。
SELECT
a.file1 as a1,
b.file1 as b1
FROM
a JOIN b
ON ( a.file1 = b.file1 COLLATE Chinese_PRC_CS_AS)
SQL語言,是結構化查詢語言(Structured Query Language)的簡稱。SQL語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。
SQL語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的結構化查詢語言作為數據輸入與管理的介面。SQL語言語句可以嵌套,這使他具有極大的靈活性和強大的功能。