【发布时间】:2011-04-15 00:53:15
【问题描述】:
SELECT id, <X> AS name FROM `table`
基本上<X>是
的组合
姓氏 + ', ' + 名字
例子是
id | name |
2 | Smith, Bob |
3 | Jones, Susy |
这只是一个例子,我并不想这么简单的组合名字。
【问题讨论】:
SELECT id, <X> AS name FROM `table`
基本上<X>是
的组合
姓氏 + ', ' + 名字
例子是
id | name |
2 | Smith, Bob |
3 | Jones, Susy |
这只是一个例子,我并不想这么简单的组合名字。
【问题讨论】:
CONCAT() 函数呢?
SELECT id, CONCAT(lastname, ', ', firstname) AS name FROM `table`;
如果要连接多个字段,还可以考虑CONCAT_WS() 函数,其中第一个参数是其余参数的分隔符,添加在要连接的字符串之间:
SELECT id,
CONCAT_WS(',', field_1, field_2, field_3, field_4) list
FROM `table`;
【讨论】:
使用concat 喜欢:
SELECT id, CONCAT(lastname, ' , ', firstname) AS name FROM `table`;
【讨论】:
SELECT
CONCAT('https://example.com/estimation/create?pId=',task_p_id,'&estId=',task_est_id) as live_url,
CONCAT('http://stage.example.com/estimation/create?pId=',task_p_id,'&estId=',task_est_id) as stage_url
FROM `ls_task` LEFT JOIN `ls_estimation` ON est_id=task_est_id LEFT JOIN `ls_project` ON p_id=task_p_id limit 10
【讨论】:
你可以使用GROUP_CONCAT():
获取以逗号分隔的表的所有列名的示例:
SELECT GROUP_CONCAT(c.`COLUMN_NAME`) FROM information_schema.`COLUMNS` c
WHERE c.`TABLE_SCHEMA` = "DB_NAME" AND c.`TABLE_NAME`="TABLE_NAME"
输出:
column_name_1,column_name_2,column_name_3,column_name_4,...
【讨论】: