我正在为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
我需要应用特殊字符输出,所以请你帮我解决。
答案 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;
上的DB2文档