Sai*_*akR 29 mysql sql string concat
以下查询适用于MySQL:
SELECT concat(title,'/') FROM `socials` WHERE 1
Run Code Online (Sandbox Code Playgroud)
它Concat /到选定的标题字段.
但是,当我尝试执行以下操作时:
SELECT concat(*,'/') FROM `socials` WHERE 1
Run Code Online (Sandbox Code Playgroud)
它返回以下错误:
#1064 - You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near '*,'/') FROM `socials` WHERE 1 LIMIT 0, 30' at line 1
Run Code Online (Sandbox Code Playgroud)
那么有没有办法让这样的SQL查询与MySql一起使用
Ben*_*Lee 40
你根本无法在SQL中做到这一点.您必须明确列出字段并连接每个字段:
SELECT CONCAT(field1, '/'), CONCAT(field2, '/'), ... FROM `socials` WHERE 1
Run Code Online (Sandbox Code Playgroud)
如果您使用的是应用程序,则可以使用SQL读取列名称,然后使用您的应用程序构建如上所述的查询.请参阅此stackoverflow问题以查找列名:在mysql中获取表列名称?
Jon*_*oni 24
如果要使用/作为分隔符连接字段,可以使用concat_ws:
select concat_ws('/', col1, col2, col3) from mytable
Run Code Online (Sandbox Code Playgroud)
但是,您无法转义列出查询中的列.*-syntax仅适用于"select*from".您可以列出列并动态构造查询.