我想更新''?@ @C $4 ABC
表中具有特殊字符Xyz
(开头两个字符是两个单引号)的密码。
我正在尝试以下查询
UPDATE Xyz set password="''?@ @C $4" where user_no like '%123%';
但是我得到的错误是
ORA-00911: invalid charachter
您是否从其他编辑器或IDE粘贴查询?还是从Windows应用程序复制到Linux?在这种情况下,可能会出现不可打印的字符。如果是这样,您可以重新输入(而不是复制粘贴)SQL语句并尝试。
此外,SQL中不常用双引号。您可能需要用单引号将它们替换。
q引号机制在这种情况下很有用,当您必须在字符串中使用多个单引号时。
SQL> desc xyz
Name Null? Type
----------------------------------------- -------- ----------------------------
USER_NO NUMBER
PASSWORD VARCHAR2(20)
SQL> select * From xyz;
USER_NO PASSWORD
---------- --------------------
123 a
SQL> update xyz set password = q'[''?@ @C $3]' where user_no = 123;
1 row updated.
SQL> select * From xyz;
USER_NO PASSWORD
---------- --------------------
123 ''?@ @C $3
SQL>