文档详情

Oracle中字段类型为char时的问题

平***
实名认证
店铺
DOC
21.52KB
约2页
文档ID:12384080
Oracle中字段类型为char时的问题_第1页
1/2

Oracle 中字段类型为 char 时的问题一、首先查看一下表结构,发现字段 NAME,JOB 的数据类型为 charSQL> desc employee;名称 是否为空? 类型----------------------------------------- -------- ----------------------------ID NUMBER(18)NAME CHAR(20)EMPNUM NUMBER(10)JOB CHAR(20)2、我们先来执行插入数据1、执行语句,成功插入,但发现 123 没有加引号也能成功插入,说明字段类型为 char 时,插入一串数字,可以不加引号。

SQL> insert into employee values(1004,'hihi',2002,123);已创建 1 行2、发现执行下面的插入语句时,报错,这是因为 NAME 为 char 类型,而插入的数据没有加引号,所以为 char 时,插入的不是纯数字串,则必须加引号SQL> insert into employee values(1004,hihi,2002,123);insert into employee values(1004,hihi,2002,123)*第 1 行出现错误: ORA-00984: 列在此处不允许 3,加双引号也报错,说明只能是单引号SQL> insert into employee values(1004,"hihi",2002,123);insert into employee values(1004,"hihi",2002,123)*第 1 行出现错误: ORA-00984: 列在此处不允许 3、执行查询语句1、用单引号正确查出数据SQL> select * from employee where job='huhu';ID NAME EMPNUM JOB ---------- -------------------- ---------- -------------------- 1002 you 2001 huhu 2、查询不用单引号将字段类型为 char 的值引起来报错。

SQL> select * from employee where job=huhu;select * from employee where job=huhu*第 1 行出现错误: ORA-00904: "HUHU": 标识符无效 3、即使是数字串也不行,必须得加引号SQL> select * from employee where job=123;select * from employee where job=123*第 1 行出现错误: ORA-01722: 无效数字 4、数字串加引号,正确查出SQL> select * from employee where job='123';ID NAME EMPNUM JOB ---------- -------------------- ---------- -------------------- 1004 hihi 2002 123 1004 hihi 2002 123 4、执行更新操作。

1、set 时候赋值用数字串并不加引号,where 条件判断时赋值数字串不加引号报错SQL> update employee set name=123 where job=123;update employee set name=123 where job=123*第 1 行出现错误: ORA-01722: 无效数字 2、set 时候赋值用数字串并不加引号,where 条件判断时赋值数字串加引号成功更新SQL> update employee set name=123 where job='123';已更新 2 行3、set 时候赋值用非数字串并不加引号,报错SQL> update employee set name=wewe where job='123';update employee set name=wewe where job='123'*第 1 行出现错误: ORA-00904: "WEWE": 标识符无效 4、set 时候赋值用非数字串并不加引号,成功更新SQL> update employee set name='wewe' where job='123';已更新 2 行。

综上:当是 insert 或者 update ……set 的时候,数字串可以不加引号,其他必须加引号但作为 where 的判断条件,都必须加引号建议所有的时候都加引号。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档