MySQL查询列名子串

时间:2016-06-06 10:49:57

标签: mysql sql select substring substr

是否可以结合使用back ticks`和substr()函数?我有带有连字符'''的列名,需要使用反引号进行查询,但似乎我不能做类似的事情:

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

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

1 个答案:

答案 0 :(得分:2)

使用简单的SQL语句无法实现所需的功能。使用SELECT时,您会获得该列的,而不是名称

SQL prepare语句返回一组固定的列,其中包含一组固定的名称,您不能选择那样的名称。

如果你想做这样的事情,那么你需要使用动态SQL(execotherElements)。但是,我怀疑您的数据模型可能不佳。您可能想要提出另一个问题,显示表格布局,并询问这是否是您尝试执行的操作的合理数据结构。