使用db2 sql在concat中显示特殊字符

时间:2016-08-22 15:04:15

标签: sql db2

我正在为db2 sql运行这样的查询

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

结果是这样的:

Order_no is =123456 for line

但我想以

的形式获取结果
Order_no is ='6640354' for line

我需要应用特殊字符输出,所以请你帮我解决。

4 个答案:

答案 0 :(得分:2)

使用两个单引号来逃避单引号:

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

答案 1 :(得分:1)

你也可以使用它;

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

答案 2 :(得分:0)

不确定为什么在db2标记的讨论中如此普遍地使用嵌套的CONCAT标量,以连接多个值。可能是由于文档有时会将表达式标量函数分开,并且在后面的文档中可能只提供一个小的注意: ' CONCAT功能与CONCAT操作符相同。有关详细信息,请参阅“表达式”。“
我个人发现以下使用CONCAT运算符,是一种更加可读的方式来组成相同的字符串表达式:

'Order_no is =''' CONCAT Order_no CONCAT ''' for line'

答案 3 :(得分:-1)

您可以使用\或使用其他单引号(如

)来转义特殊字符
select CONCAT( CONCAT('Order_no is =\'', Order_no), '\' for line') from orders;

检查Escaping special characters

上的DB2文档