【问题标题】:MySQL Like statement in SELECT column_nameSELECT column_name 中的 MySQL Like 语句
【发布时间】:2013-03-27 11:05:55
【问题描述】:

我正在尝试从特定表中选择列名,其中表名类似于“98673”

所以我正在使用这个:

SELECT 
    column_name
FROM 
    information_schema.columns
WHERE 
    table_name='lime_survey_98673'
    AND column_name LIKE '98673'

但是,这不会产生任何数据。 虽然我的列名中确实有“98673Blah”。

我知道我一定做错了什么,但是什么??

【问题讨论】:

    标签: mysql sql database


    【解决方案1】:

    对于 LIKE,您必须添加通配符 %,因此:

    SELECT 
        column_name
    FROM 
        information_schema.columns
    WHERE 
        table_name='lime_survey_98673'
        AND column_name LIKE '98673%'
    

    【讨论】:

    • 太好了,我确实忽略了这一点!
    【解决方案2】:

    使用%

    SELECT column_name
    FROM information_schema.columns
    WHERE table_name='lime_survey_98673'
    AND column_name LIKE '%98673%'
    

    % 表示通配符并返回任何包含98673column_name

    【讨论】:

      【解决方案3】:

      除非你真的需要它或者:

      SELECT column_name
      FROM information_schema.columns
      WHERE table_name LIKE '%lime_survey_98673%'
      -- AND column_name LIKE '%98673%'  // only if needed
      

      有关更多信息,请查看以下文档:

      【讨论】:

        【解决方案4】:

        你需要加%

        SELECT 
            column_name
        FROM 
            information_schema.columns
        WHERE 
            table_name='lime_survey_98673'
            AND column_name LIKE '%98673%'
        

        这意味着column_name 包含98673

        【讨论】:

          【解决方案5】:

          也可以这样做:

          show columns from lime_survey_98673 like '%98673%';
          

          【讨论】:

            【解决方案6】:

            我认为您还需要添加带有表名的通配符。

            SELECT 
                column_name,
                table_name
            FROM 
                information_schema.columns
            WHERE
                schema_name = 'db_name' 
                AND table_name='%98673%'
                AND column_name LIKE '%98673%'
            

            通过这种方式,您可以获得列名列出所有表,并且列名包含来自特定数据库或架构的“98673”等文本。

            【讨论】:

              【解决方案7】:

              使用这个查询

              SHOW COLUMNS FROM `table_name` LIKE 'coloums_name';
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2015-10-22
                • 2011-04-04
                • 2012-10-17
                • 1970-01-01
                • 1970-01-01
                • 2016-09-13
                • 1970-01-01
                相关资源
                最近更新 更多