数据库
各种数据库
微微笑再加油
很多时候,我们更需要做的就是闭上自己愿意争辩的嘴,放下所谓高贵的自尊,承认自己曾经所犯的错误,下定决心努力去修正它。这并不代表放弃,而是收获了一份成长。
展开
-
Oracle列转行函数listagg和wm_concat
oracle高版本也放弃了wm_concat函数,所以推荐使用listagg函数。)的sql中使用wm_concat函数可能会报如下错误。wm_concat函数默认是以","进行合并的。现在要把查询出的两列转为一行。原创 2022-09-28 10:50:47 · 980 阅读 · 0 评论 -
oracle之sql中like %变量%的写法
orcale数据库前提下,mybatics框架,需要模糊查询拼接%的场景如下那需要对传递的变量进行模糊查询,则有如下两种写法1.调用mapper接口的时,把变量用%拼接2.在sql中处理,使用concat函数进行拼接原创 2022-07-14 15:37:05 · 3297 阅读 · 0 评论 -
dbvisualizer客户端执行创建存储过程或自定义函数语句的方法
在使用db2数据库的时候,一般会使用dbvisualizer客户端来进行操作,但是执行函数和存储过程的时候,要是按照Oracle或者Mysql的客户端则会报错,无法创建函数。在创建函数/存储过程的时候,需要在创建存储过程或函数的语句的最前面和末尾分别加上【–/】和【/】符号。--/CREATE FUNCTION chd() RETURNING VARCHAR(20) RETURN 'chd';END FUNCTION;/...原创 2021-03-02 11:54:48 · 3198 阅读 · 0 评论 -
Oracle之排序会影响rownum混乱的问题
在需求中,有时候会需要在sql中加上rownum序号列,如果sql中有排序得语句,那么就会发现查出的数据会导致混乱如下因为sql会有执行顺序得,如果存在rownum序号列和排序,优先增加序号列,然后在排序,这样会导致上面得结果,解决办法就是套用一个子查询,让子查询先排序之后,再加上rownum序号列。//rownum混乱select rownum,la.* from laagent la where branchtype='A' order by birthday//rownum不混乱selec原创 2020-12-02 14:34:38 · 2725 阅读 · 0 评论 -
数据库连接池的作用
在项目中,经常使用连接池,那么数据连接池到底有什么作用呢?(c3p0连接池,druid数据连)连接池的作用:连接池是将已经创建好的连接保存在池中,当有请求来时,直接使用已经创建好的连接对数据库进行访问。这样省略了创建连接和销毁连接的过程。这样性能上得到了提高。基本原理是这样的:(1)建立数据库连接池对象(服务器启动)。(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最原创 2020-09-14 15:56:34 · 1541 阅读 · 0 评论 -
Oracle之关于null运算的坑
之前写函数时候发现查询的数据和null进行运算的时候,结果最终都会变成null。select null+1 from dual避免这个坑,在对应的运算数据加上nvl函数(null的话,置成0)select nvl(null,0)+1 from dual原创 2020-09-14 15:12:52 · 953 阅读 · 0 评论 -
Oracle之where之后的case when执行不同的条件
在开发中遇到这样的一个需求,在一张表中需要根据某个字段的值来使where执行不同的判断条件。简单的例子如下自己简单的建了一张表查询语句如下(通过某个字段的值,where后执行不同的刷选条件)SELECT * FROM test_casewhen a WHERE//这里就建了一张表,所以就用表中的字段,在case when的条件查询语句中查询返回flag的值如果等于1 则where后执行flag=‘1’的条件,否则执行flag=‘0的条件’ ( CASE WHEN ( SELECT fla原创 2020-05-30 22:45:03 · 12153 阅读 · 4 评论 -
Oracle之varchar和varchar2的区别
varchar和varchar2的区别在使用Oracle数据库中,一般都是用varchar21 .varchar2是oracle提供的独特的数据类型,oracle保证在任何版本中该数据类型向上和向下兼容。但不保证varchar,这是因为varchar是标准sql提供的数据类型,有可能随着sql标准的变化而改变。2.如果数据库不移植的话,就没有区别。如果数据要移植到别的数据库,可能用varchar比较好。varchar2很多数据库不支持!。3.varchar2把所有字符都占两字节处理(一般情况下),v原创 2020-05-23 17:57:04 · 2743 阅读 · 0 评论 -
Oracle之char和varchar区别及踩坑
char和varchar区别及踩坑char与varchar2都是Oracle的数据存储格式。char是定长的,varchar2是变长。都可以存储字符串。同样存储一个字符“a”char:占用了10个字符(a占一个,另外9个使用空格占用)varchar2 只占用了 一个字符(注意:一个中文占两个字符/三个字符,英文占一个)。一个中文占varchar2几个字节要根据Oracle中字符集编码决定:1.GBK,一个汉字占用两个字节;2.UTF8,一个汉字占用三个字节;在项目中就遇到一个坑,通过cha原创 2020-05-23 17:50:12 · 1420 阅读 · 0 评论 -
连接远程Orcale数据库
项目中有时候会连接远程Oracle数据库,而经常使用mysql的同学们还得在安装一个Oracle数据库(例如安装Oracle11g,安装十分费劲)? NONONO!看如下操作1.需要准备的工具PLSQL Developer:https://pan.baidu.com/s/1teLu7kbhUCeqxQMGnElIbQ 提取码:jj0kOracle9i客户端精简版(很小的Oracle客户端):...原创 2020-03-26 22:34:38 · 343 阅读 · 0 评论