Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
206 views
in Technique[技术] by (71.8m points)

sql - MySQL query column name substring

Is it possible to combine the use of back ticks ` with the substr() function? I have column names with hyphens '-' which require the use of backticks to query but seems like I cannot do something like:

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

Where the aim is to select all rows from columns starting with abc-d. Unfortunately changing/removing the hyphens is not an option.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You cannot do what you want with a simple SQL statement. When you use abc-def-ghi, you get the value of the column, not the name.

A SQL SELECT statement returns a fixed set of columns with a fixed set of names, You cannot select names that way.

If you want to do something like this, then you would need to use dynamic SQL (prepare and exec). However, I suspect that you might have a poor data model. You might want to ask another question, show the table layout, and ask if that is a reasonable data structure for what you are trying to do.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...