Plsql dbms_输出语句中的单引号?

Plsql dbms_输出语句中的单引号?,plsql,oracle11g,Plsql,Oracle11g,我需要在dbms_输出语句中包含单引号。我试过这个: dbms_output.put_line('\''first_name||'\''); 这里的名字是变量;我需要在单引号内显示此信息。您可以通过加倍来逃避: dbms_output.put_line('''' || first_name || ''''); 或使用该机制: dbms_output.put_line(q'[']'||first_name||q'[']'); 例如: 请注意,这仅适用于PL/SQL,并且必须处于活动状态

我需要在dbms_输出语句中包含单引号。我试过这个:

 dbms_output.put_line('\''first_name||'\'');

这里的名字是变量;我需要在单引号内显示此信息。

您可以通过加倍来逃避:

 dbms_output.put_line('''' || first_name || '''');
或使用该机制:

 dbms_output.put_line(q'[']'||first_name||q'[']');
例如:


请注意,这仅适用于PL/SQL,并且必须处于活动状态

begin
DBMS_OUTPUT.PUT_LINE('DELETE FROM MYTABLE WHERE MYFIELD <> ''A'';');
end;
/
开始
DBMS_OUTPUT.PUT_LINE('DELETE FROM MYTABLE,其中MYFIELD'A';');
结束;
/

假设你想匹配一个
CHAR
“a”。

比我快了2秒:)是的,伙计,我用第一个字符得到了输出,但我似乎也很乏味,没有结构化!第二个有效吗@Thiyaguator q-quotes对于这样的非常短的字符串可能有点冗长,但在较长的文本中使用(如动态SQL语句)时值得熟悉。如果first_name包含xyx,则我的输出将是“xyz”。这是我试图获取的数据。可能的重复可能的重复
begin
DBMS_OUTPUT.PUT_LINE('DELETE FROM MYTABLE WHERE MYFIELD <> ''A'';');
end;
/