好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

2页
  • 卖家[上传人]:平***
  • 文档编号:12384080
  • 上传时间:2017-10-18
  • 文档格式:DOC
  • 文档大小:21.52KB
  • / 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 的判断条件,都必须加引号建议所有的时候都加引号。

      点击阅读更多内容
      相关文档
      高一历史上学期期末考前必刷卷统编版03考试版A4含答案.docx 高中英语考试各题型突破攻略听力篇高一高二高三的都要看.docx 高一历史上学期期末考前必刷卷统编版01考试版A3含答案.docx 高中英语考试各题型突破攻略语法填空篇高一高二高三的都要看.docx 高一历史上学期期末考前必刷卷统编版02考试版A3含答案.docx 高中英语考试各题型突破攻略完形填空篇高一高二高三的都要看.docx 高中英语考试各题型突破攻略作文篇高一高二高三的都要看.docx 高考政治如何规范化答题?.docx 高一历史上学期期末考前必刷卷统编版03考试版A3含答案.docx 高一历史上学期期末考前必刷卷统编版02考试版A4含答案.docx 高一历史上学期期末测试卷01统编版中外历史纲要上129课含答案.docx 日历表2028年日历中文版纵向排版周一开始带周数带农历带节假日调休安排1.docx 日历表2028年日历中文版横向排版周一开始带农历带节假日调休安排1.docx 八年级数学北师大版上册课时练第7章《3 平行线的判定》含答案解析.docx 日历表2029年日历中文版横向排版周一开始带周数带农历带节假日调休安排1.docx 日历表2028年日历中文版纵向排版周一开始带周数带农历.docx 人教版二年级数学下册同步测试-有余数的除法含答案解析3含答案.docx 日历表2028年日历中文版横向排版周一开始带农历1.docx 人教版二年级数学下册同步测试-总复习含答案解析-人教新课标含答案.docx 日历表2028年日历中文版横向排版周一开始带周数带农历1.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.