如何在oracle 11g中用特殊字符更新值

问题描述 投票:0回答:2

我想更新''?@ @C $4 ABC表中具有特殊字符Xyz(开头两个字符是两个单引号)的密码。

我正在尝试以下查询

UPDATE Xyz set password="''?@ @C $4" where user_no like '%123%';

但是我得到的错误是

ORA-00911: invalid charachter
oracle oracle11g ora-00911
2个回答
0
投票

您是否从其他编辑器或IDE粘贴查询?还是从Windows应用程序复制到Linux?在这种情况下,可能会出现不可打印的字符。如果是这样,您可以重新输入(而不是复制粘贴)SQL语句并尝试。

此外,SQL中不常用双引号。您可能需要用单引号将它们替换。


0
投票

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>
© www.soinside.com 2019 - 2024. All rights reserved.