【问题标题】:MySQL query column name substringMySQL 查询列名子字符串
【发布时间】:2016-06-06 10:49:56
【问题描述】:

是否可以将反引号 ` 与 substr() 函数结合使用?我有带有连字符“-”的列名,需要使用反引号来查询,但似乎我无法执行以下操作:

  SELECT substr(`abc-def-ghi`,1,5) FROM tableName

目的是从以 abc-d 开头的列中选择所有行。不幸的是,更改/删除连字符不是一种选择。

【问题讨论】:

    标签: mysql sql select substring substr


    【解决方案1】:

    你不能用简单的 SQL 语句做你想做的事。当您使用abc-def-ghi 时,您将获得列的,而不是名称

    SQL SELECT 语句返回一组具有固定名称的固定列,您不能那样选择名称。

    如果您想做这样的事情,那么您需要使用动态 SQL(prepareexec)。但是,我怀疑您的数据模型可能很差。您可能想问另一个问题,显示表格布局,并询问对于您正在尝试做的事情,这是否是一个合理的数据结构。

    【讨论】:

    • 感谢您的回答戈登。我想我毕竟必须使“更改列名”成为一个选项。我的模型确实不是最优的,因为我知道查询行比查询列更好,但是我受到列数限制的限制;因此必须将较高的维度设置为行(上限),将另一个维度设置为列。
    猜你喜欢
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    相关资源
    最近更新 更多