美文网首页
数据库日常笔记

数据库日常笔记

作者: 求闲居士 | 来源:发表于2017-11-24 10:52 被阅读32次
  • 给表增加字段时,要注意相关视图,如果视图的创建如
create or replace view house as
select b.*, .......

b.*这样,就要重新运行下视图,否则会++报指定的列名数无效++这样的错误。

  • oracle通过in查询的数据为乱序,如果要顺序,可以使用decode

select * from table_name t
where t.id in
(
'235',
'dsafas',
'fsafsa',
'gdghdh',
'her',
'fw',
'fsafa'
)
order by decode
(
t.id,
'235',1,
'dsafas',2,
'fsafsa',3,
'gdghdh',4,
'her',5,
'fw',6,
'fsafa',7
);

也可以用instr

select * from lessee where id = '123' or id = '124' order by instr('123,124', id);
  • 使用REGEXP_SUBSTR函数进行字符串分割
SELECT REGEXP_SUBSTR ('hello my phone is 520 ', '[0-9]+') FROM dual; --520

http://blog.csdn.net/zz87250976/article/details/22856829
http://blog.csdn.net/itmyhome1990/article/details/50380749

  • instr函数返回字符串str中子字符串substr第一次出现的位置,在sql中第一字符的位置Z是1,如果 str不含substr返回0。

我想查找承租人签订了哪些合同,因为合同表中承租人id是分号拼接的,用全模糊效率太低,用instr如果返回大于0,则说明那份合同有这个承租人。

select * b where a.name='group1' and instr(a.id,b.id)>0;
  • 获取date数据的月份差months_between
starttime := to_char(startdate, 'yyyy-mm');
endtime := to_char(enddate, 'yyyy-mm');
select months_between(to_date(endtime, 'yyyy-mm'), to_date(starttime, 'yyyy-mm')) into accountmonth from dual;
  • ORA-01795: 列表中的最大表达式数为 1000

    in ()的数量不能超过1000,最好inselect语句。

  • oracle存储过程中update不成功的一个原因。存储中,变量名不能和表字段名一样。我遇到在update时变量名和字段名称一样,结果那个字段update失败,但其他字段更新成功。

  • ORA-12899 通过dblink进行数据插入时(同样的表),出现这个错误

12899::ORA-12899: 列 "IMPORTUSER"."BA_RESIDENTHMTSZ"."REGISTRAR" 的值太大 (实际值: 51, 最大值: 50)
ORA-02063: 紧接着 line (起自 BAWGB28)

后来一调查,发现是跟oracle的字符集编码有关:如果是以下字符集,一个汉字占用2个字节: SIMPLIFIED CHINESE_CHINA.ZHS16GBK 如果是以下字符集,一个汉字占用3个字节: SIMPLIFIED CHINESE_CHINA.AL32UTF8
(1)查看oracle字符集可以用下面的sql文查看: select userenv('language') from dual
(2)查看当前oracle环境中一个汉字占多少个字节可以用下面的sql文查看: select lengthb('啊') from dual。

  • 删除上千万数据的时候,不能直接delete,可以进行遍历,没删除1000个数据进行commit操作。

相关文章

  • 数据库日常笔记

    给表增加字段时,要注意相关视图,如果视图的创建如 b.*这样,就要重新运行下视图,否则会++报指定的列名数无效++...

  • 关于笔记 || 阅读《学会写作》

    一、笔记的分类 1、笔记分日常笔记和读书笔记。 2、日常笔记,记录自己日常的生活、状态、想法等; 日常笔记不一定是...

  • 231|摘抄

    1.笔记分日常笔记和读书笔记。 2.日常笔记不一定是“日记”,记录的是生活中的事情和感悟。 3.日常笔记本身也是写...

  • 数据库笔记1

    数据库笔记1

  • Oracle一次给多个表添加相同字段

    categories: 日常记录tags: 数据库

  • MySQL常用操作笔记

    前言 本文是数据库操作过程中纪录的笔记,包括安装、异常处理、基础操作等内容,基本涵盖了日常所需要的MySQL操作 ...

  • 2019-05-22

    今天整理数据库笔记。

  • MySql 笔记

    #MySql 笔记 ## 数据库操作命令 ###查看所有数据库 show databases; ###创建数据库 ...

  • GEO数据库视频学习笔记(差异分析、可视化、GSEA)

    笔记回顾:1.GEO数据库视频学习笔记(芯片数据下载和数据读取)2.GEO数据库视频学习笔记(ID转换)3.GEO...

  • 运用笔记法搜集素材

    笔记的两个作用:一是记录想法,加深印象;二是记录重要的内容。 笔记的分类:日常笔记和读书笔记 (一)日常笔记:抓住...

网友评论

      本文标题:数据库日常笔记

      本文链接:https://www.haomeiwen.com/subject/qkpxbxtx.html