我有两列X和Y,其中的值可能如下所示:
X Y
--------------
rob one.1
rob two.2
rob abc.3
rob pqr.4
harry lmn.3
harry lkja.4
harry lkjs.6我正在查询列X。也就是说
select Y where X='rob'
select Y where X='harry'我想在上面的列上编写一个查询,其中输出将是字符串"rob # 1,2,3,4“和"harry # 3,4,6”
因此,结果字符串的第一部分将是X值,后跟一个常量#,然后是‘’后的Y中的数字。点。
所以罗布得到1,2,3,4,哈里得到3,4,6
感谢您的阅读
发布于 2012-04-09 13:21:35
我是使用db2中的聚合函数实现的:
concat('Harry # ',substr( xmlserialize( xmlagg( xmltext( concat( ', ', substr(myTable.salary, locate('.',myTable.salary)+1) ) ) ) as varchar( 1024 ) ), 3 ))发布于 2012-04-03 20:43:05
下面是一个拼接的例子:
这是解决你的问题的方法。
SQL CONCAT()函数用于连接两个或多个字符串。MySQL允许连接两个以上的字符串,而其他方法只能连接两个。语法如下:
CONCAT(expression)以下是在MySQL中连接员工姓名和他的薪水的查询:
SELECT CONCAT(name,':',salary) as name_salary
FROM employees下面是输出:
name_salary
----------------
jack:3000.00
mary:2500.00
newcomer:2000.00
anna:2800.00
Tom:2700.00
foo:4700.00 https://stackoverflow.com/questions/9990873
复制相似问题