1

我想§在我的INSERT声明中插入特殊字符。

我的插入是:

INSERT INTO STUDENT(name, class_id) VALUES ('Samantha', 'Java_22 & Oracle_14');

如果我尝试运行此查询而不是弹出窗口,它要求我输入 Oracle_14 的值,所以我的问题是如何输入特殊字符,例如§INSERToracle db 的语句中?

4

2 回答 2

3

'&' 字符是默认的宏定义字符是 SQL*Plus。如果您使用 SQL*Plus 执行查询,有两种方法可以解决此问题:

  1. 使用该SET DEFINE OFF命令完全关闭宏定义,或者
  2. 用于SET DEFINE <some_other_character>更改宏定义字符;例如,您可以SET DEFINE ^在当前会话期间将宏定义字符更改为“^”。

我能想到的另一个选择是使用该CHR函数来避免输入&字符的需要。CHR(38) 相当于&字符,所以如果你使用

'Java_22 ' || CHR(38) || ' Oracle_14'

您会得到相同的结果,&但不会被 SQL*Plus 误解。

分享和享受。

于 2013-07-08T10:59:09.220 回答
1

试试'Java_22'||'&'||' 甲骨文_14'

于 2013-07-08T10:31:43.667 回答