在SQL查询中,会经常需要原样输出字符串,如果字符串中含有大量的单引号、双引号或者特殊字符,那么需要用单引号转义拼接字符串,这样会非常的麻烦。所以,Oracle提供了一个Q-quote的表达式来原样输出字符串。
SQL> SELECT Q'[I'm a boy,my name is 'lhrhaha']' results FROM DUAL;
RESULTS
--------------------------------
I'm a boy,my name is 'lhrhaha'
需要注意以下几点:① Q-quote定界符可以是除了TAB、空格、回车外的任何单字节或多字节字符,包括数字、字母、特殊字符。但'&'不能作为分隔符,因为'&'意思是传入参数。
② Q'后跟起始分隔符,起始分隔符后的字符串原样输出,起始分隔符必须有配对的结束分隔符。'['、'('、'{'作为分隔符,必须以']'、')'、'}'结束。