PLSQL中的✀的转义关系

2025-04-18 05:28:48
推荐回答(1个)
回答1:

1. || 的作用是连接字符串。
如:
字符串常量连接: 'abc'||'def' ;
字符串变量连接: v_variable1 || v_variable2 等。

2.
首先: ' 有两个作用:
1).对字符串定界。如v_sqlstr := 'abcdef';
就界定了一个字符串abcdef; ‘ 本身不是字符串的一部份。
2). ' 本身作为一个字符,' 是字符串的一部份。
如 :v_sqlstr :=''''; 指代字符串' 。 这时,' 需要转义。
begin
dbms_output.put_line('''');
end;
/
'

PL/SQL procedure successfully completed.

要表示一个' 字符 , plsql中需要用'' 来表示。
‘’ 相当于 字符 ‘ 。

输出字符a:
dbms_output.put_line('a');

输出字符‘:
dbms_output.put_line('''');

3. 开始的alter前面的'不用转义,
因为它是定界符。

4.我们知道:
alter session set nls_date_language='AMERICAN';

是完整的sql语句,

其中的两个' 在sql 中 ,是定界符,但是到了plsql中,整个sql语句成了一个字符串,所以'成为了两个字符。
字符就需要转义,
所以:
nls_date_language='
在plsql字符串中应该写成:
nls_date_language=''

5. 如果我们做如下置换:
假设:表定界的' 可以用 () 来置换,
表字符的' 可以用 " 来置换,那么:
sql_string 可以写成:

sql_string := (alter session set nls_date_language=")||(AMERICAN)||(");

这样就更好理解了。