【BBED】使用bbed 修改日期类型的数据

日期的存储格式:

22-FEB-81: 77  b5  02  16  01  01  01 

19-APR-87: 77  bb  04  13  01  01  01 

bbed中把WARD 中的22-FEB-81改为19-APR-87

BBED> x /r

rowdata[443]                                @8064    

------------

flag@8064: 0x2c (KDRHFL, KDRHFF, KDRHFH)

lock@8065: 0x00

cols@8066:    8

col    0[3] @8067:  0xc2  0x4c  0x16 

col    1[4] @8071:  0x57  0x41  0x52  0x44 

col    2[8] @8076:  0x53  0x41  0x4c  0x45  0x53  0x4d  0x41  0x4e 

col    3[3] @8085:  0xc2  0x4d  0x63 

col    4[7] @8089:  0x77  0xb5  0x02  0x16  0x01  0x01  0x01 

col    5[3] @8097:  0xc2  0x0d  0x33 

col    6[2] @8101:  0xc2  0x09 

col    7[2] @8104:  0xc1  0x1f 

设置偏移量到日期字段的起始位置:

BBED> dump /v offset 8089 count 64

 File: /opt/oracle/oradata/orcl/users01.dbf (4)

 Block: 396     Offsets: 8089 to 8152  Dba:0x0100018c

-------------------------------------------------------

 0777b502 16010101 03c20d33 02c20902 l .w.........3....

 c11f2c00 0803c24b 6405414c 4c454e08 l ..,....Kd.ALLEN.

 53414c45 534d414e 03c24d63 0777b502 l SALESMAN..Mc.w..

 14010101 02c21102 c20402c1 1f2c0008 l .............,..

 <16 bytes per line>

再次偏移:8089+1=8090

BBED> dump /v offset 8090 count 64

 File: /opt/oracle/oradata/orcl/users01.dbf (4)

 Block: 396     Offsets: 8090 to 8153  Dba:0x0100018c

-------------------------------------------------------

 77b50216 01010103 c20d3302 c20902c1 l w.........3.....

 1f2c0008 03c24b64 05414c4c 454e0853 l .,....Kd.ALLEN.S

 414c4553 4d414e03 c24d6307 77b50214 l ALESMAN..Mc.w...

 01010102 c21102c2 0402c11f 2c000803 l ............,...

 <16 bytes per line>

修改日期数据

一次只能修改4个字节大小以内的,否则报错。

BBED> modify /x 77bb0413010101

BBED-00209: invalid number (0x786e0602140c1f)

分开修改

BBED> modify /x 77bb0413

 File: /opt/oracle/oradata/orcl/users01.dbf (4)

 Block: 396              Offsets: 8090 to 8153           Dba:0x0100018c

------------------------------------------------------------------------

 77bb0413 01010103 c20d3302 c20902c1 1f2c0008 03c24b64 05414c4c 454e0853 

 414c4553 4d414e03 c24d6307 77b50214 01010102 c21102c2 0402c11f 2c000803 

 <32 bytes per line>

BBED> set offset 8094

        OFFSET          8094

BBED> dump /v offset 8094

 File: /opt/oracle/oradata/orcl/users01.dbf (4)

 Block: 396     Offsets: 8094 to 8157  Dba:0x0100018c

-------------------------------------------------------

 01010103 c20d3302 c20902c1 1f2c0008 l ......3......,..

 03c24b64 05414c4c 454e0853 414c4553 l ..Kd.ALLEN.SALES

 4d414e03 c24d6307 77b50214 01010102 l MAN..Mc.w.......

 c21102c2 0402c11f 2c000803 c24a4605 l ........,....JF.

 <16 bytes per line>

应用校验和。

BBED> sum dba 4,396 apply

Check value for File 4, Block 396:

current = 0x23cb, required = 0x23cb

BBED> x /rnccntnnn  --查看,结果已修改

rowdata[443]                                @8064    

------------

flag@8064: 0x2c (KDRHFL, KDRHFF, KDRHFH)

lock@8065: 0x00

cols@8066:    8

col    0[3] @8067: 7521 

col    1[4] @8071: WARD

col    2[8] @8076: SALESMAN

col    3[3] @8085: 7698 

col    4[7] @8089: 19-APR-87 

col    5[3] @8097: 1250 

col    6[2] @8101: 800 

col    7[2] @8104: 30

sqlplus中测试查询:

SQL> select * from yangobj;

     EMPNO ENAME           JOB               MGR HIREDATE                  SAL       COMM     DEPTNO

---------- --------------- ---------- ---------- ------------------ ---------- ---------- ----------

      7369 SMITH           CLERK            7902 17-DEC-80                 800                    20

      7499 ALLEN           SALESMAN         7698 20-FEB-81                1600        300         30

      7521 WARD            SALESMAN         7698 19-APR-87                1250        800         30

时间: 2024-08-03 20:56:53

【BBED】使用bbed 修改日期类型的数据的相关文章

更新-thinkphp修改bit类型表数据,只能从0修改成1,不能从1修改成0

问题描述 thinkphp修改bit类型表数据,只能从0修改成1,不能从1修改成0 如题,tp3.2.2版本,用tp修改User表数据时,sex字段用bit类型,0代表女,1代表男,页面用radio类型单选框,在修改页面能够获取数据库中的数据并显示,但在修改时,只能从女修改成男,不能从男修改成女.前者提示修改成功,数据库中数据也更新,后者提示失败,数据库中数据不更新 解决方案 $sex='0'; $data['sex']=(bool)$sex; $M->save($data); 解决方案二: $

如何查询日期类型的数据?_ASP基础

请问,如何在ACCESS数据库和SQL SERVER数据库中查询?     我们可用下述方法来实现:    一.在ACCESS数据库中: "SELECT * FROM yourTable where dateField=#2001/4/15#"(注意:日期须加#号).   二.在SQL SERVER数据库中: "SELECT * FROM yourTable where dataField=' april 15,2001' " (注意:日期是作为字符串使用的).  

如何查询日期类型的数据?

请问,如何在ACCESS数据库和SQL SERVER数据库中查询? 我们可用下述方法来实现:     一.在ACCESS数据库中: "SELECT * FROM yourTable where dateField=#2001/4/15#" (注意:日期须加#号).   二.在SQL SERVER数据库中: "SELECT * FROM yourTable where dataField=' april 15,2001' " (注意:日期是作为字符串使用的).   当

【BBED】使用bbed修改数字类型数据

bbed的使用(一)  介绍了BBED的编译安装. bbed的使用(二)  介绍了bbed的语法规则和常用命令的使用. bbed的使用(三)  介绍了bbed的命令. 如何修改字符类型的数据,使用bbed修改数据表中字符类型的数据 下面介绍使用bbed修改数字类型数据 yangobj表是有scott下的emp经过CTAS创建. 修改前: SQL> select * from yangobj;      EMPNO ENAME                          JOB      

ext日期类型传递的问题

问题描述 项目中采用ext去请求后台,要求从后台返回一个日期类型的数据.具体的做法如下.在前台的js中this.eventStore=newExt.data.JsonStore({id:'eventStore',root:'evts',url:'/OA/showSchedule.do?method=queryMyScheduleList',fields:[{name:'id',type:'int'},{name:'cid',type:'int'},'title',{name:'start',ty

【BBED】使用bbed修改字符类型数据

前面几篇文章介绍了bbed的使用语法规则,这篇介绍如何更改字符类型的数据. yangobj表是由scott.emp经过CTAS 创建的表. SQL> select * from yangobj;      EMPNO ENAME                          JOB               MGR HIREDATE                  SAL       COMM     DEPTNO ---------- -------------------------

解决 JScript 中使用日期类型数据时出现类型错误的问题_应用技巧

例如以下代码: 程序代码: 复制代码 代码如下: <%@LANGUAGE="JScript" CODEPAGE="65001"%>  <script language="JScript" runat="server">  Response.Cookies("xujiwei")("name") = "xujiwei";  Response.Coo

javaweb-使用easyui显示数据时,日期类型显示的object Object??

问题描述 使用easyui显示数据时,日期类型显示的object Object?? 后台代码: Map map = new HashMap(); map.put("tableName", "engage_major_release"); map.put("fields", "*"); map.put("orderField", "mre_id"); map.put("sqlwh

修改数据库字段-请问怎么用sql语句去修改sqlite中的数据字段的类型呢?

问题描述 请问怎么用sql语句去修改sqlite中的数据字段的类型呢? 我现在想写一个方法,用来修改sqlite数据库中某个表中的某个列的类型,因为现在客户需要发生变化了,我需要在数据完整的情况下吧数据类型给改变了,也就是说我不能替换数据库,哪就只有用sql语句去修改类型了,跪求高手... 解决方案 sqlite数据库中数据类型存在sqlite_master表中 select sql from sqlite_master where tb_name='tbname' 把这条sql语句改了,表结构