[英]Concat a string to SELECT * MySql
以下查詢適用於MySQL:
SELECT concat(title,'/') FROM `socials` WHERE 1
它Concat /到選定的標題字段。
但是,當我嘗試執行以下操作時:
SELECT concat(*,'/') FROM `socials` WHERE 1
它返回以下錯誤:
#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
那么有沒有辦法讓這樣的SQL查詢與MySql一起使用
你根本無法在SQL中做到這一點。 您必須明確列出字段並連接每個字段:
SELECT CONCAT(field1, '/'), CONCAT(field2, '/'), ... FROM `socials` WHERE 1
如果您使用的是應用程序,則可以使用SQL讀取列名稱,然后使用您的應用程序構建如上所述的查詢。 請參閱此stackoverflow問題以查找列名: 在mysql中獲取表列名稱?
如果要使用/作為分隔符連接字段,可以使用concat_ws
:
select concat_ws('/', col1, col2, col3) from mytable
但是,您無法轉義列出查詢中的列。 * -syntax僅適用於“select * from”。 您可以列出列並動態構造查詢。
您不能使用字符串連接多個字段。 您需要選擇所有( *
)的字段instand。
您不能在多個字段上執行此操作。 你也可以尋找這個 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.