
数据库开发
安仔anzer
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据仓库中各个常用英文简写的代表意义
ODS——操作性数据DW——数据仓库DM——数据集市可以mark记录一下.原创 2021-01-29 15:52:59 · 1777 阅读 · 0 评论 -
非空函数NVL与COALESCE函数的相类似却有不同的运用
A.首先是非空含糊:NVL()函数NVL函数的格式如下: NVL(expr1,expr2)含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。B.其次是取舍函数:COALESCE()函数很多人知道ISNULL函数,但是很少人知道Coalesce函数,人们会无意中使用到Coalesce函数,并且发现它比ISNULL更加强大,其实到目前为止,这个函数的确非常有用,本文主要讲解其中的一些基本使用:首先看看联机丛书的简要定义:返原创 2021-01-21 15:22:27 · 1458 阅读 · 0 评论 -
lengthb和length的存在区别
lengthb和length存在的区别,也就是字节上所占空间的区别,字符上所占空间,别看那么小的区别,也会引起很大的影响,比如当你的字节所占空间在某个字段超过255长度了,若是使用DBF文件加载处理,怎必然会出现错位的情况,数据会非常难看;这个时候该份数据就可以采用CSV的格式文件下载下来,进行操作处理了,你学到了吗?...原创 2020-12-08 18:00:18 · 683 阅读 · 0 评论 -
当碰到一个老旧的模型程序时候请酌情谨慎修改
如题,我就个人吃了个亏;当有业务需要对老旧模型程序进行业务上的调整,业务逻辑包含的代码也随之调整,实际上只需要改一行代码,我自己手贱,进行了批量修改,导致其他相同的地方也跟着改了,导致结果表出数和以往周期的数据在数据量上形成较大差异,有了波动数据,所以改动打回,重新评估和再改,所以啊,做开发或者做维护的程序员在进行修改老旧模型程序的时候.情谨慎修改老旧的模型程序;尤其年限是超过了一年以上,原开发人员或者愿维护人也找不到了,你自作聪明,以为这样改更好,结果有可能一发不可收拾,你想哭都来及了咯,切记切记原创 2020-12-08 16:38:26 · 203 阅读 · 1 评论 -
Having用法的注意点
一般来说,在通过Group by语句进行汇总之后,所产生的的结果表,有可能会在业务上有所需求,进行一定的筛选或者处理,以便让数据结果更加精准和契合,让客户满意,得到他想要的数据!语法便是在末尾处进行添加和语法构造,有可能加上其他函数或者抽取其中的字段值,进行再塑造,剔除不要的数据;select a.o_number ,a.h_id ,a.h_cntwhere 7=7 and(a.cl_count>0 or a.s_count>0)原创 2020-12-01 11:56:12 · 322 阅读 · 0 评论 -
关于字符型与日期互换的注意点
有可能的情况,需要在字符与日期进行一定转换,但是不可默认照搬原有模型的代码或者无脑转,需要看现有表的字段值,进行灵性调整,否则有可能会一直报错,卡在这个问题上从而停滞不前了,这可不好:...原创 2020-11-09 11:32:44 · 151 阅读 · 0 评论 -
当数据量不大,或者少于100条时候,多利用虚表
当数据量不大,或者少于100条时候,多利用虚表>>没错,就是dual,会很效率,而不会过多的建立临时表,中间表来进行多次插入或者关联其他维表,不然在多表关联下,存在着修改到其他表的误操作;尤其在同步角色权限上,有很大的作用!切记~...原创 2020-10-16 11:20:50 · 256 阅读 · 0 评论 -
一个关于数理统计的重要指标-中位数
在数理统计上,有一个重要的参考指标,即"中位数".定义上:中间位置的数,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分.举例来说:比如一个含有5个数字的一组数字–1,2,3,4,5,那么中位数即3;全体单位标志值的代表值,不受分布数列的极大或极小值影响,从而在一定程度上提高了中位数对分布数列的代表性,极具泛型的,大数据中间额代表性的值.在SQL,所采用的函数是midian();参考代码:select median(字段名) from 目标表;从目标表中既能得出相原创 2020-08-18 18:27:52 · 1671 阅读 · 0 评论 -
substr()和instr()俩个函数完美结合!
通过substr和instr俩个函数截取想要的字符,从第一位以及该字符前一位的,形成字符串>>原创 2020-08-11 10:23:43 · 784 阅读 · 0 评论 -
工作纪要_20200701
最近,子安在CRT上学到了不少实用的命令,比如:SQLLDR>>>>>>>可通过该命令,以及适当的参数,将文本文件TXT进行数据导入,导入到指定的数据表内,相当方便和实用,更多详情可以网上搜索一下,谁用谁知道,也不算太难;SCP>>>>>>>可通过该命令,对指定服务器进行数据的上传或者下载,也相当实用,成功后悔显示所上传文件,该文件的大小KB,以及上传所需时间!综上所述,学习以及成长了很多~...原创 2020-07-01 17:19:53 · 227 阅读 · 0 评论 -
业务上可能运用到的同比与环比_续1
简单来说,可以用个数字公式来固定套用,cur_value,表示当月指,next_value表示上月值,n_year_value表示去年同月值,所以公式就可以这样写作,环比:hb_rate=cur_value/next_value -1同比:tb_rate=cur_value/n_year_value -1...原创 2020-06-16 14:48:21 · 296 阅读 · 0 评论 -
数据库SQL执行语句的差别引起执行结果不一样
比如下图A的SQL语句执行情况:以及下图B的SQL语句执行情况:俩图的差距 ,你看出来了吗,有什么区别?叮叮叮,对了就是’/‘这个符号的区别,如果少了一个’/’,就会导致一直执行Begin的语句不会停歇.从而后面的语句必然会全部废弃,导致你的执行代码不会出现理想结果,所以一定要注意细节.铭记在心!...原创 2020-05-12 17:19:38 · 626 阅读 · 0 评论 -
如何多线运行跑多个SH程序?
当你的SH程序需要在短时间内生成多个周期内的结果表的时候,如何多线运行跑多个SH程序?能否做到呢?答案是可行的,只需要你在临时表的前缀进行略微的变化和改动,和你原本的模型程序SH有着些许差别,那么,你的副本模型程序SH就再跑另一哥周期的结果.举例来说,我需要这几天跑出4月1日到4月20日的所有周期的结果表,核对这些数据.程序A就运行跑出专门的4月1日-4月10日,程序B就运行跑出专门的4月1...原创 2020-05-06 14:38:46 · 543 阅读 · 0 评论 -
业务上可能碰到的取值口径
有些时候,工作上,有客户想要某些数值口径:当月新增客户数,当月净增客户数;当年累计新增客户数,当年累计净增客户数.这些字段,看上去差不多,实际上存在着巨大的差距:当月新增就是客户在当月新入网的,不是存量的客户的客户数量;当月净增,具体是指在当月新入网的客户数与当月离网的客户数之间的差额,得出一个当月净增指;累计的当年累计新增客户数,当年累计净增客户数就可以同比了,不同的是需要进行一个累加值...原创 2020-04-10 11:50:24 · 1175 阅读 · 0 评论 -
业务上可能运用到的字符提取
有些时候,业务上会需要你在开发数据库上,提取某项合约的时间或者执行市场,就可以采取下面这块代码,还是比较实用的,亲测哦!!按照’个月’提取前面的数字:regexp_substr(desc,,’[0-9]+’,instr(desc,’个月’)-2)...原创 2020-04-01 18:52:06 · 160 阅读 · 0 评论 -
工作中可能用到的列转行(把一堆结果数据共同展示,以特殊符号隔开显示)
工作中可能用到的列转行(把一堆结果数据共同展示,以特殊符号隔开显示)wm_concat函数注意: wm_concat有长度限制或者版本不支持,11.1以后不支持WM_CONCAT(XXX)TO_CHAR(WM_CONCAT(XXX))解释:通过GROUP BY聚合函数,将一个组的结果拼接起来listagg函数LISTAGG(XXX,XXX) WITHIN GROUP( ORDER B...原创 2020-03-27 10:26:23 · 308 阅读 · 0 评论 -
SQLPLUS程序专用配置的自动替换-提升工作效率篇
有时候编写大量代码,会出现特别重复的关键字和执行语句,这个时候,为了提升工作效率,就需要简写的自动替换功能了,所以需要的同学或者同行业朋友,就可以参考拿来一用,好话不多说,直接上txt,然后受到实用的话请三连好评点赞一下,万分感谢:s= select * fromse=select /*+parallel(a,4) parallel(b,4) parallel(c,4) on_index(b)...原创 2020-03-05 17:55:39 · 235 阅读 · 0 评论 -
各个量级数据表的参考并行
1000万条数据级别的以及5000万的乃至10000万的都能参考进行并行查询调度,方便进行效率同时不会给服务带来负载的查询:原创 2020-03-05 17:33:07 · 448 阅读 · 0 评论 -
SQL上可能会用到的时间计算函数
SQL上可能会用到的时间计算函数,如图:原创 2020-01-15 15:49:09 · 205 阅读 · 0 评论 -
在日统计或者月统计模型程序上配置调度依赖的问题
如果日统计在代码中会用到月统计表的模型程序,以及反过来,月统计在代码中会用到日统计表的模型程序,配置相应依赖,需要一一的进行盘查和整理,日的还是对应日的,月的还是对应月的,如果用到非对应的,则需要进行find或者代码深入解剖,看用到究竟是哪个模型程序,然后直到能准确每日或者每月定时调度跑起来,运行,直至跑出正常的合理的数据!...原创 2019-11-26 16:44:09 · 186 阅读 · 0 评论 -
字符集在数据库上的问题
因为UTF-8以及GB2312在数据库转换上会有问题,同时导致数据库执行出错,此时可以考虑采用to_nchar的方式进行灵性转换,就有可能解决该问题了原创 2019-11-26 16:39:54 · 217 阅读 · 0 评论 -
sql常见错误集锦(二)
ORA-01830: date format picture ends before;有些时候在日常工作或者学习中,碰到此类问题,实际上是源数据的表的该字符字段不匹配到yyyymmdd的格式导致,所以推荐先用substr()函数进行强制匹配和修正,比如:源字段是fixDate那么格式便是to_date(substr(fixDate,1,8),'yyyymmdd')按照以上操作一般不会错了,...原创 2019-10-31 16:09:30 · 265 阅读 · 0 评论 -
sql常见错误集锦(一)
执行SQL相关语句时候,偶尔会碰到意外错误,比如ORA-00054:resource busy and acquire with NOWAIT specified相关执行事务没有提交或者回滚,导致锁死占用资源,无法进行相关后续SQL操作!KILL一下或者结束相关会话即可恢复正常使用...原创 2019-10-22 17:02:51 · 319 阅读 · 0 评论 -
异库传数时候碰到的问题一
1.当在oracle,gbase,hive,mysql等不同数据库进行传数的时候,偶尔会在表中存有日期字段,这个时候一般来说当然是字段类型匹配字段类型来传;这就想当然了,为了提高传输效率,以及缩短业务完成时间,我建议,如果碰到日期格式的,直接以’yyyy-mm-DD hh-mm-dd’字符的格式保存并输出,然后进行3O处理(抽取+转换+装载),最后以字符的格式输入保存到目标转换库,相信我,你会节约...原创 2019-09-27 19:57:16 · 137 阅读 · 0 评论 -
between以及比较符号在SQL的区别
between and 等价<=和>=,属于闭环区间,也包括边界的比较值,即要注意的是between and是有等于的,<>/>/<这些是不能用between and来代替的,最后between and 等价<=和>=在查询效率上等同,没有区别;以前,在java后台写代码实在是编写太多,没查询过多语法导致思路锁死,没有进行灵性转换,在三年之后有开导出...原创 2019-04-19 18:33:19 · 2096 阅读 · 0 评论 -
sql日期函数操作
转载自<翟中龙>的自学文章sql日期函数操作sql语句获取本周、本月、本年数据SQL Serverselect * from [data] where DATEPART(m,[date])=2Accessselect * from [data] where DATEPART(‘m’,[date])=2说明:DATEPART(datepart,date)返回表示指定...转载 2019-04-19 09:11:59 · 826 阅读 · 0 评论 -
少有人使用的SQL语法以及定义
decodedecode(column_name,comparison,action, comparison,action, …else action)decode语句将表列的内容与比较域(Comparison Field)的内容进行比较。如果相等,则执行decode语句后面的操作(Action);若不相等,则继续与下一个比较域进行比较。如果没有任何一个比较域与表列内容匹配,那么执行else后...原创 2019-04-23 15:21:44 · 170 阅读 · 0 评论 -
sql%rowcount的意义
sql%rowcount主要意义是只会记录未被提交的最后一条SQL语句的影响行数;置入到代码块中,sql%rowcount必须在commit或者rollback之前,方便开发者心理有数对于所捕获以及业务上大致的数据规划...原创 2019-04-23 14:54:32 · 1990 阅读 · 0 评论 -
数据库中的DDL与DML、DCL语言以及范式定义
DDL语句用于操作表,主要由create、alter、drop 和 truncate 四个关键字完成,简单说也就是对表的列操作最可能需要关注的是修改表结构–alter:包括增加列定义、修改列定义、重命名列、删除列 等操作。 1.增加列 alter table 表名 add ( 字段名 字段类型 [非空约束] [默认值], ... 字段名 字段类型 [...原创 2019-04-23 10:58:11 · 857 阅读 · 0 评论 -
数据库中需要删除百万条目数据的若干处理方式
1.像mysql这个关系型数据库在数据量达到千万级别之后,删除数据尤其之慢,更甚者生成环境是基本不允许这样低效率的操作出现,为此需要另种优化删除方式–来经过该进,使用inner join 的方式删除起来,效率成倍的提升!例如通过以下语句的调整更改提高删除效率:DELETE aFROM t_orders_detail a,(SELECT * FROM t_pro_record c WHERE c...原创 2019-04-23 09:40:04 · 4102 阅读 · 0 评论 -
SQL语句联立的其他方式
有些时候,写SQL语句可以换种思路,需要建立俩表联立时候,可把联立条件放在Where语句中,查表通过from俩张表a表和b表而不是通过join连接关键词来联立;举例欠费表(10013欠费信息表)和用户资料表两表关联。select a.serv_id from zg.BAK_BILL_20190808 a,zk.mm_user b where b.user_sts not in (‘0’,‘1’...原创 2019-04-23 09:08:58 · 579 阅读 · 0 评论 -
Truncate、Drop、Delete区别
为了自我学习数据库开发,转载学习<Truncate、Drop、Delete区别>转载 2019-04-22 18:24:51 · 138 阅读 · 0 评论 -
有时候为了业务锁定搜索行数据而加入for update
核心作用:加锁.程式在准備修改某些資料時需先用SELECT * FROM tablenameWHERE condition FOR UPDATE 來锁住這些資料以防止別的程式也在這時間修改這些資料。select语句后面加上for update的作用Select…For Update语句的语法与select语句相同,只是在select语句的后面加FOR UPDATE [NOWAIT]子句。...原创 2019-04-22 16:46:06 · 110 阅读 · 0 评论 -
Hadoop介绍以及后续的使用总结
Apache Hadoop是目前最流行的软件框架,可使用简单的高级编程模型实现大型数据集的分布式存储和处理。我们将介绍Hadoop最重要的概念,描述其架构,指导您如何开始使用它以及在Hadoop上编写和执行各种应用程序。简而言之,Hadoop是Apache Software Foundation的一个开源项目,可以安装在服务器集群上,以便这些服务器可以通信并协同工作来存储和处理大型数据集。Had...原创 2019-04-22 16:16:59 · 101 阅读 · 0 评论 -
业务上可能运用到的同比与环比
同比与环比同比:与历史同时期比较,就是与不同年份的同一时期作比较,例如2005年3月份与2004年3月份相比,叫同比。环比:与上一统计段比较就是与前一个相邻的时期作比较,例如2005年4月份与2005年5月份相比较,叫环比。在SQL语句中,需要擅长多运用函数,以便契合业务上的需求.//获取根据时间获取去年同期时间select DateAdd(year, -1, SalesDate)//...原创 2019-04-26 16:56:18 · 1005 阅读 · 0 评论 -
左外连接 left join的查询顺序导致结果不同以及效率不同
有两张表,表A和表B,后面SQL查询不以哪个表为主体表,各为其主.现在执行 :(1) select * from A left join B on B.number = A.number;(2) select * from A left join B on A.number = B.number ;第(1)中执行方式是正常的左关联形式: 这种方式是以A表的number作为...原创 2019-04-29 18:17:26 · 5774 阅读 · 1 评论 -
业务上可能SQL用到GROUPING SETS
grouping sets的执行方式在group by后面有多列的时候,grouping sets带来的性能提升非常明显:假设现在让你统计一下每个国家的平均工资和每个部门的平均工资,怎么办?我们可以使用 UNION ALL。此乃俩个结果集的并集而成>>SELECT country, null department, round(avg(salary), 2) FROM employ...原创 2019-04-30 16:16:49 · 1171 阅读 · 0 评论 -
数据库执行操作中的各种问题汇总-P1
1.ORA-00947: Not enough values 没有足够的值.简单来说就是所插入的目标表的结构有3个column,而插入的值字段少于这3个,是改1个,需要认真核对是哪个少了的,尤其在列大于10个以上的时候尤其认真核对小心,这里就是加个少插入的column;2....原创 2019-07-11 17:38:19 · 671 阅读 · 0 评论 -
在SecureCRT调用PL/SQL出现的bug
通过调用${指定用户}进入PL/SQL方法,再执行sql语句时候,可能由于不注意,把where关键字替换成了And 1=1,会卡很久的查询和插入以及执行语句,无限不终止的状态,关键是他一开始回车按执行时候并没有说报错,然后就无限执行查询,也没有返回结果,一直卡住的状态,要小心这种坑!!!...原创 2019-07-11 15:43:14 · 351 阅读 · 0 评论 -
PL/SQL语法中的autoRe自动填充程序自用
直接提供PL/SQL方便调用,自填充,提高工作效率和提升代码复用率s = select * from se=select /*+parallet(a,4) parallet(b,4) parallet(c,4) no_index(c)*/ * fromsf = select * from for updateusw=update t set column= where ;w...原创 2019-07-01 09:42:22 · 364 阅读 · 0 评论