对db2中的字符进行子字符串处理

时间:2012-04-03 09:51:14

标签: sql db2 substring

我有两列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值,后跟一个常量#,后面跟着'。'后面的数字。点。

所以抢得1,2,3,4而哈利有3,4,6

感谢您阅读

2 个答案:

答案 0 :(得分:1)

我使用db2中的聚合函数实现了它:

concat('Harry # ',substr( xmlserialize( xmlagg( xmltext( concat( ', ', substr(myTable.salary, locate('.',myTable.salary)+1) ) ) ) as varchar( 1024 ) ), 3 ))

答案 1 :(得分:-1)

这是一个连接的例子:

它解决问题的方法..

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