MySQL查询列名子串

MySQL query column name substring

是否可以将反引号 ` 与 substr() 函数结合使用?我有带连字符“-”的列名,这需要使用反引号来查询,但似乎我不能做类似的事情:

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

目标是 select 以 abc-d 开头的列中的所有行。不幸的是 changing/removing 连字符不是一个选项。

你不能用简单的 SQL 语句做你想做的事。当您使用 abc-def-ghi 时,您得到列的 value,而不是 name.

一个 SQL SELECT 语句 returns 一组固定的列和一组固定的名称,你不能 select 那样命名。

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