oracle - 如何在 oracle 11g 中使用特殊字符更新值
问题描述
我想更新表中具有特殊字符''?@ @C $4 ABC
(开头两个字符是两个单引号)的密码Xyz
。
我正在尝试以下查询
UPDATE Xyz set password="''?@ @C $4" where user_no like '%123%';
但我收到错误
ORA-00911: invalid charachter
解决方案
当您必须在字符串中使用多个单引号时,q-quoting 机制在这种情况下会有所帮助。
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>
推荐阅读
- java - 简化的 Java 路径查找
- dictionary - 为什么我不能在 Go 中使用 new() 初始化地图?
- javascript - 从值 javascript 中获取 Key
- c - C 是否优化了枚举的大小?
- wordpress - 使用 Wordpress 插件保存数据时出现问题
- css - 排列相对于彼此垂直移动的列中的元素
- php - PHP Laravel v5.7.0 获取设备资源控制器的 404 页面未找到
- react-native - React-Native, Google Photos API 图片上传
- python - 删除重复值并计算值
- mfc - MFC 保存自定义标题列宽