
*
From
表名称
Where len(字符列名称)=长度值
1.
结构化查询语言(Structured
Query
Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
2.
SQL的LEN()
函数,LEN
函数返回文本字段中值的长度。
3.
SELECT
语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。
SELECT
*
From
Tabel中
*
号表示获得全部字段值,如需特定字段,可用:
SELECT
列名称1,
列名称2,列名称3
From
Tabel
这样的话,给你一个思路,你先根据这个库,查找里面所有表名,然后再根据表名,查找字段名,然后再查找所有不是数字或者是二进制的字段进行搜索,当然这个需要多次循环,多次调用,肯定是很麻烦的!肯定得使用游标,虽然效率低,但是这个是唯一的一个办法: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 此方法经过验证,但是需要你进行简单的修改!
select * from Table1 where ID=s 当然不行咯~ 因为 s 没有值啊select * from Table1 where ID=2 这样就行了~~~
或者非要用s的话,就应该在前面给s赋值~~
declare @s int
set @s = 2
select * from Table1 where ID= @s--T-SQL语句表示局部变量,使用@做前缀~~~
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)