如何模糊查找的SQL数据库表中的内容

如何模糊查找的SQL数据库表中的内容,第1张

CREATE

PROCEDURE

dboFindString

@string

NVARCHAR(100)

AS

DECLARE

@SQL

NVARCHAR(4000);

SET

@SQL

=

N'

DECLARE

@str

NVARCHAR(4000);

SELECT

@str

=

ISNULL(@str

+

N''

OR

''

+

cname

+

N''

LIKE

N''''%'

+

@string

+

'

%'''''',

cname

+

N''

LIKE

N''''%'

+

@string

+'%'''''')

FROM

syscolumns

AS

c

JOIN

systypes

AS

t

ON

cid=OBJECT_ID('''')

AND

cxtype=txtype

AND

tname

IN(''varchar'',''char'',''nvarchar'',''nchar'');

SET

@str

=

''SELECT

TOP

1

1

FROM

WHERE

''+@str;

CREATE

TABLE

#tb(a

int);

INSERT

#tb(a)

EXEC(@str);

IF

EXISTS(SELECT

FROM

#tb)

PRINT

''''

';

EXEC

sp_MsforeachTable

@SQL;

GO

试试这个,或许可行

select from accuont where VIP = 1

//上面的1 是在你表中的类型为数字类型的时候

select from accuont where VIP='1'

//上面的1 是在你表中的类型为非数字类型的时候

第一个:查询下拉框的选项

select aName,aID form TBMenu a where aIsUsed=1

查询Name和ID: Name为显示文字,ID用于在选择这个选项后根据ID值进行下一步的查询

在你后台执行SQL的时候返回一个dateset 然后用combobox的datasuoce绑定,怎么绑需要自己找例子,很好的学习过程。

第二个:根据选择的菜单查询需要的信息

select from Infomations a where aMenuID=ID(选择下拉框选项对应的ID值)

在下拉框中选择“主食”,点击查询按钮,肯定是要查询和主食相关的数据,那就通过主食对应的ID(也就是下拉框绑定的时候查询的ID)去数据库对应的关联表中查询对应的信息。

这个地方你没有描述清楚你想实现的效果所以,根据你在上面补充的内容推测出的这些东西。

任何一种关系型数据库都不可能用SQL语句实现这种查询,因为你不知道表名和列名。

理论上用程序或存储过程遍历数据库中所有表和所有列,用表数×列数个SQL语句,可以实现你要的结果。不过有可能会查到很多表很多列都有匹配的数据行,如何确定哪张表哪列,就没有办法了。

以上就是关于如何模糊查找的SQL数据库表中的内容全部的内容,包括:如何模糊查找的SQL数据库表中的内容、怎样查询SQL数据库中某一个表中的某个列的一个数值的所有行数据、sql 如何查询一个数值在数据库的哪个表中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/sjk/10192369.html

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

发表评论

登录后才能评论

评论列表(0条)

保存