使用DB2SQL在concat中显示特殊字符

使用DB2SQL在concat中显示特殊字符,sql,db2,Sql,Db2,我正在为DB2SQL运行这样的查询 SELECT CONCAT(CONCAT('Order_no is =', Order_no), ' for line') FROM orders; 结果是这样的: Order_no is =123456 for line 但我想把结果作为 Order_no is ='6640354' for line 我需要在输出中应用特殊字符,因此您能在这方面帮助我吗。同时使用两个单引号来转义单引号: SELECT CONCAT(CONCAT('Order_no i

我正在为DB2SQL运行这样的查询

SELECT CONCAT(CONCAT('Order_no is =', Order_no), ' for line') FROM orders;
结果是这样的:

Order_no is =123456 for line
但我想把结果作为

Order_no is ='6640354' for line

我需要在输出中应用特殊字符,因此您能在这方面帮助我吗。

同时使用两个单引号来转义单引号:

SELECT CONCAT(CONCAT('Order_no is =''', Order_no), ''' for line')
FROM orders;

您可以使用
\
或其他类似的单引号转义特殊字符

select CONCAT( CONCAT('Order_no is =\'', Order_no), '\' for line') from orders;

查看

上的DB2文档,不知道为什么在DB2标记的讨论中会如此普遍地使用嵌套CONCAT scalar来连接多个值。?可能是因为文档有时会将表达式和标量函数分开,在后面的文档中可能只提供了一个很小的注意:“CONCAT函数与CONCAT操作符相同。有关详细信息,请参阅“表达式”
我个人认为,以下使用CONCAT运算符是一种更具可读性的方法,可以组成相同的字符串表达式:

'Order_no is =''' CONCAT Order_no CONCAT ''' for line'
你也可以用这个

select 'Order_no is=''' || trim(Order_no) || ''' for line' from orders;

@这似乎符合接受这个答案的标准。?