当前位置: 首页 > 面试题库 >

在sql数据库中搜索列名,然后在重新调整的列中搜索值

宿嘉
2023-03-14
问题内容

该查询将在数据库中搜索特定的列名。我想更进一步,并在返回的列中搜索特定值。

SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name,
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%Example%'

有任何想法吗?

非常感谢


问题答案:

没有此类搜索的系统表。鉴于您可以尝试此目的

DECLARE @ValueToSearch NVARCHAR(500)
DECLARE @SearchColumn NVARCHAR(100)
DECLARE @TableName NVARCHAR(200)
DECLARE @ColumnName NVARCHAR(200)
SET @ValueToSearch ='YOUR VALUE TP SEARCH'
SET @SearchColumn = 'YOUR COLUMN'
DECLARE @getResult CURSOR
SET @getResult = CURSOR FOR
    SELECT t.name AS table_name,c.name AS column_name FROM sys.tables AS t INNER JOIN     sys.columns c ON t.OBJECT_ID = c.OBJECT_ID WHERE c.name = @SearchColumn
    OPEN @getResult
    FETCH NEXT FROM @getResult INTO @TableName,@ColumnName
    WHILE @@FETCH_STATUS = 0
    BEGIN
        SET NOCOUNT ON ;
        DECLARE @RESULT INT; 
        DECLARE @TYPE INT
        DECLARE @QUERY NVARCHAR(1000)
        SET @QUERY = 'select @RESULT=count(*) from ' + ISNULL(@TableName,'') +'     WHERE '+ ISNULL(@ColumnName,'')+'='''+ ISNULL(@ValueToSearch,'') +''''
        EXEC sp_executesql @QUERY,
            N'@result int OUTPUT, @type int OUTPUT',
            @RESULT OUTPUT, 
            @TYPE OUTPUT
        IF(ISNULL(@RESULT,0)>0)
        BEGIN
            SET NOCOUNT ON;
        SELECT ' COLUMN '+ @ColumnName + ' OF TABLE ' +@TableName+ ' HAS     THIS VALUE.'
        END
        FETCH NEXT FROM @getResult INTO @TableName,@ColumnName
    END
CLOSE @getResult
DEALLOCATE @getResult

谢谢

马诺吉



 类似资料:
  • 我有一个查询,可以查找与某个数据库的列名匹配的所有表和视图。我正在使用SQL SERVER 2008 我想扩展查询的功能,以便在所有数据库中搜索,甚至查找具有我搜索的列名的存储过程。

  • 问题内容: 假设我有以下数组: 我怎么在那里我有值序列发生指数:?因此,在这种情况下的预期输出为:。 编辑: 1)请注意,这只是一个序列。可能是或或,仅此而已。 2)如果将我的数组修改为:,则具有相同序列的预期结果将是。 我正在寻找一些NumPy快捷方式。 问题答案: 嗯,这基本上是图像处理中经常出现的问题。这篇文章中列出了两种方法:基于纯NumPy和基于OpenCV(cv2)。 方法1: 使用N

  • 问题内容: 有人知道是否可以对SQL Server数据库中的列进行%LIKE%搜索,但可以忽略该列中的任何特殊字符吗? 因此,例如,如果我有一个名为“歌曲”的列,并且其中包含以下内容… 黑或白 直到布鲁克林不睡觉 船歌 爸爸别讲 如果用户搜索“直到布鲁克林之前都不会偷偷摸摸”,那么即使他们忘记了撇号,我也希望它返回一个匹配项。如果他们搜索“ SOUL”,我也希望它返回第四行。我确定你知道这个主意。

  • 问题内容: 我目前正在尝试完成一个项目,其中的规范是使用搜索表单来搜索包装数据库。该数据库具有许多变量,包括大小,名称,类型和肉类。我需要创建一个搜索表单,用户可以在其中使用多种不同的搜索进行搜索(例如搜索50厘米长的盖子托盘)。 我花了整整一天的时间来尝试创建一些PHP代码,这些代码可以在我创建的测试数据库中搜索信息。我遇到了许多错误,从mysql_fetch_array错误,布尔错误到现在,我

  • 问题内容: 问题 该代码无法正确识别输入(项目)。即使CSV文件中存在这样的值,它也只会转储到我的失败消息中。谁能帮我确定我做错了什么? 背景 我正在开发一个小程序,要求用户输入(此处未提供功能),搜索CSV文件(项目)中的特定列并返回整行。CSV数据格式如下所示。我已经从实际数量(49个字段名称,18000 +行)中缩短了数据。 码 CSV结构 笔记 我对Python的经验还很少,但是我认为这是

  • 问题内容: 还有其他方法可以在Postgres的列中搜索某个值吗? 我目前安装的Postgres版本并 没有 让下面的语句: 数组示例: 该语句应返回数组包含的每一行。 问题答案: 对于相等性检查,您可以简单地: 在手册中阅读有关ANY / SOME的信息 。