Sql db2中字符的子字符串
我有两列X和Y,其中的值可能如下所示:Sql db2中字符的子字符串,sql,db2,substring,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
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
感谢阅读以下是一个示例: 这是解决你问题的方法 SQL CONCAT函数用于连接两个或多个字符串。MySQL允许连接两个以上的字符串,而另一个字符串正好连接两个。以下是语法:
CONCAT(expression)
以下是在MySQL中对concat员工姓名和工资的查询:
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
下面是一个浓缩的例子: 这是解决你问题的方法 SQL CONCAT函数用于连接两个或多个字符串。MySQL允许连接两个以上的字符串,而另一个字符串正好连接两个。以下是语法:
CONCAT(expression)
以下是在MySQL中对concat员工姓名和工资的查询:
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
我在db2中使用聚合函数实现了它:
concat('Harry # ',substr( xmlserialize( xmlagg( xmltext( concat( ', ', substr(myTable.salary, locate('.',myTable.salary)+1) ) ) ) as varchar( 1024 ) ), 3 ))
我在db2中使用聚合函数实现了它:
concat('Harry # ',substr( xmlserialize( xmlagg( xmltext( concat( ', ', substr(myTable.salary, locate('.',myTable.salary)+1) ) ) ) as varchar( 1024 ) ), 3 ))
您需要做的是在子查询select RightCHARINDEXY“.”中进行连接。您给出的解决方案是一个简单的连接。。。但是,要求要复杂得多。。其中,薪资部分来自三个不同的行,输出应为该格式的名称:sal1、sal2、sal3……您需要做的是在子查询select RightCHARINDEXY“中进行连接。”从表格中,您给出的解决方案是一个简单的连接。。。但是,要求要复杂得多。。其中,工资部分来自三个不同的行,输出应为name:sal1、sal2、sal3格式。。。