SQL语句如何查询ACCESS数据库中某一字符串字段长度等于某个值的所有记录?

SQL语句如何查询ACCESS数据库中某一字符串字段长度等于某个值的所有记录?,第1张

SQL语句查询某一字符串字段长度等于某个值的所有记录使用语句为:SQL=SELECT

*

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语句表示局部变量,使用@做前缀~~~


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9775796.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存