数据库
九尾狐的yi巴
这个作者很懒,什么都没留下…
展开
-
MySQL数据查询对NULL和空串的特殊处理
一个数据库字段churn存的值既有NULL又有空串,在查询的结果里要对其进行特殊处理:将NULL转成[无值],将空串转成[空值]。原创 2024-05-10 11:22:56 · 341 阅读 · 0 评论 -
手动刷新物化视图
假如物化视图名称:MV_T_HR_BMXX_NIRC1.ALTER MATERIALIZED VIEW MV_T_HR_BMXX_NIRC REFRESH FAST (没用过)2.在plsql的命令窗口执行v_czry_group_qx是物化视图名称 (不想用)exec dbms_mview.refresh('MV_T_HR_BMXX_NIRC');3.推荐BEGINDBMS_MVIEW.REFRESH (list => 'MV_T_HR_BMXX_NIRC',M转载 2022-04-01 11:35:11 · 3661 阅读 · 0 评论 -
MySQL分页查询的5种方法
MySQL分页查询的5种方法原创 2021-12-15 11:41:05 · 12084 阅读 · 0 评论 -
mybatis的if判断传入字符是否等于某固定字符串
以前还记得,总是忘记,使用文章记录一下。具体原理参考这里:【mybatis】mybatis的if test 字符串的坑_xl19961223的博客-CSDN博客_mybatis test转自:http://blog.csdn.net/z69183787/article/details/51589171<iftest="type=='y'">andstatus=1</if>当传入的type的值为y的时候,if判断内的sql也不会执行,抱着这个疑问就去看了mybatis是怎么解析sq原创 2021-12-09 13:48:19 · 1325 阅读 · 0 评论 -
MySQL时间日期格式化
--时间格式化为字符串 2021-10-15 17:32:41SELECT DATE_FORMAT(SYSDATE(),'%Y-%m-%d %H:%i:%s')--字符串格式化为时间SELECT STR_TO_DATE('2021-10-15 17:32:41','%Y-%m-%d %H:%i:%s')字母代表含义:%Y:年,4 位(eg:2021)%y:年,2 位(eg:21)%M:月份英文(eg:October)%b:缩写月名(eg:Oct)%m:月,数值(01-12)%c:.原创 2021-10-13 20:02:48 · 6078 阅读 · 0 评论 -
QueryWrapper日期格式化mysql
// MysqlString dateStr = "2021-09-03 16:37:52" QueryWrapper<UserInfo> wrapper = new QueryWrapper<>();wrapper.eq("REPAY_STS_CD", "1");wrapper.apply("DATE(CRT_TM) < STR_TO_DATE('"+ dateStr +"',%Y-%m-%d %H:%i:%s)");原创 2021-09-03 16:39:39 · 7084 阅读 · 0 评论 -
mybatisplus使用分页查询临时不分页
写了一个分页方法,突然调用方又说不想分页了,于是搜到了这个方法:将pageSize改为-1Page<User> page = new Page();page.setSize(-1L);然后继续调用分页的方法就可以获取不分页的数据了。原创 2021-08-04 22:01:44 · 4040 阅读 · 2 评论 -
Oracle根据备注查询表信息
主流分布式MQ消息队列比较原创 2021-07-09 17:59:34 · 441 阅读 · 0 评论 -
synchronized没能锁住方法???学到了新知识
昨天,同事告诉我生产系统上竟然出现了两个一样的申请号,我表示十分震惊,申请号是系统中唯一标示(不是表主键),怎么会重复呢???我去找了一下生成申请号的代码,第一眼就觉得没问题,明明是加了synchronized的方法,怎么会生成一样的申请号呢,我甚至开始怀疑synchronized到底是不是真的能保证线程同步了。并且我们也不是集群,就一个tomcat,完全没道理。我看到数据库里这两条申请的创建时间是一模一样的,那还真是无巧不成书,也就是说这两个也业务员正好在同一时间点击了按钮。然后找了两个同事,原创 2021-04-01 15:40:09 · 1389 阅读 · 2 评论 -
SQL中IN和EXISTS用法的区别
select * from Awhere id in(select id from B);结论1. in()适合B表比A表数据小的情况2. exists()适合B表比A表数据大的情况当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用.以上查询使用了in语句,in()只执行一次,它查出B表中的所有id字段并缓存起来.之后,检查A表的id是否与B表中的id相等,如果相等则将A表的记录加入结果集中,直到遍历完A表的所有记录.它的查询过程类似于以下过程Lis.转载 2021-01-06 17:32:22 · 127 阅读 · 0 评论 -
expdp: command not found原因
我对数据库操作一向是很反感的,总觉得数据这些东西是看不见摸不着的,很多时候数据库的操作都交给DBA们操作。所以现在遇到数据库的问题很是懵逼,今天记录一下这个问题。Linux里command not found经常遇到,但是执行expdp命令还报这个错着实让我费解,这不应该是每个安装了oracle的服务器该有的命令吗?!问了DBA,得到的结论是:当前用户不能使用该命令,换成安装oracle的那个用户就行了。我也尝试过su - oracle ,结果发现根本没有这个用户。说明安装的时候用的根本不是叫“原创 2020-12-28 16:38:33 · 9793 阅读 · 2 评论 -
PowerDesigner导出所有表到Excel(同一表格)
打开pdm,然后按快捷键:ctrl + shift +x输入以下脚本,点击Run将会按照 以下形式生成Excel:表名 表中文名 表备注 字段ID 字段名 字段中文名 字段类型 字段备注 '******************************************************************************'* File: pdm2excel.vbs'* Purpose: 分目录递归,查找当前PD转载 2020-08-17 15:18:34 · 1580 阅读 · 2 评论 -
ORA-02020 too many database links in use
参考1:https://blog.csdn.net/ytfy12/article/details/48318963参考2:https://blog.csdn.net/stevendbaguo/article/details/45739931报错信息:Oracle ORA-02020 : 过多的数据库链接在使用中简单描述:A数据库通过DBLINK查询B数据库时,偶发性出现上述异常信...转载 2019-11-22 11:05:34 · 1424 阅读 · 0 评论 -
记一次ORA-00001: unique constraint (***) violated错误
以往一看ORA-00001: unique constraint (CONT.INDEX_ADJUST_6) violated 报错 就是主键冲突,但是我用redis生成的主键不应该冲突,今天才意识到,根本不是主键冲突。打开表结构一看,喔霍,建表的人太风骚了:/*==============================================================*...原创 2019-11-14 18:41:33 · 1502 阅读 · 0 评论 -
oracle里用正则把字段里的数字都替换成0
UPDATE BIZ_DEALER set BANK_ACCOUNT = REGEXP_REPLACE(BANK_ACCOUNT,'\d','0');由于不想让看到真实的银行账号,所以就把他们都设置成0了,这样可以保持位数是正确的。原创 2019-07-15 15:54:38 · 3930 阅读 · 0 评论 -
快速备份表数据
生产环境中我们提供脚本删除某些数据的时候建议先备份一下,留个后路。。。我一般的做法是:1.如果这个备份表没有创建过就用这句create table BIZ_WS_20190628BAK as select * from BIZ_WS WHERE WS_ID in('1','2','3');2.如果备份表已经创建了就用这句Insert into BIZ_WS_2019062...原创 2019-06-28 09:23:14 · 2234 阅读 · 0 评论 -
设置 Oracle PL/SQL 时间显示格式 NLS_TIMESTAMP_FORMAT
Oracle中TIMESTAMP时间的显示格式Oracle数据库的时间字段我们通常是使用timestamp 格式,在未做设置前,查询出来的数据类似于“27-1月 -08 12.04.35.877000 上午”,经过to_char函数转换后得到如下结果:“2008-01-27 00:04:35:877000”,为了能直接修改时间,我们只需要在系统属性-高级-环境变量-系统变量 中增加如下设置:...转载 2019-07-01 22:59:09 · 2386 阅读 · 1 评论 -
oracle输入带逗号字符串进行查询
SELECT DISTINCT REGEXP_SUBSTR ('23,34,45,76,45','[^,]+',1,LEVEL)FROM DUALCONNECT BY REGEXP_SUBSTR ('23,34,45,76,45','[^,]+',1,LEVEL) IS NOT NULL很厉害的样子~原创 2017-07-25 09:51:44 · 2177 阅读 · 0 评论 -
sql将两个表中主键相同的行的内容合并到一行
我大概画画,目的就是这样:A和B相同的主键的话内容要合并在一起如果知道哪个表里的数据多的话可以用左连接,但是这个是不知道哪个表数据比较多,所以这里使用全连接select ISNULL(a.id,b.id) as [id],a.des,b.desfrom a full join b on a.id = b.id;好简单的东西,浪费了我半天原创 2017-09-27 18:52:29 · 11550 阅读 · 0 评论 -
sql server 获取每一个类别中值最大的一条数据
--一、按name分组取val最大的值所在行的数据。--方法1:select a.* from tb a where val = (select max(val) from tb where name = a.name) order by a.name--方法2:select a.* from tb a where not exists(select 1 from tb where nam转载 2017-11-05 13:07:11 · 1353 阅读 · 0 评论 -
sqlserver 查找某个字段在哪张表里
select [name] from [库名].[dbo].sysobjects where id in(select id from [库名].[dbo].syscolumns Where name='字段名')转载 2017-11-06 18:21:18 · 7621 阅读 · 0 评论 -
本机无法打开SQL SERVER Configuretion Manager,修改注册表使sqlserver开启TCP/IP访问
打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp双击右边“Enabled”值改为1.我的是sqlserver2012,就是这个位置,可能别的版本就不是这个位置了。MSS原创 2017-11-24 18:04:00 · 2267 阅读 · 0 评论 -
Oracle中把逗号分割的字符串转换为可放入in的条件语句的字符数列
SELECT count(1) from INVOICEDETAIL where applyno in (select regexp_substr('R20170406400264,','[^,]+', 1, level) from dual connect by regexp_substr('R20170406400264,', '[^,]+', 1, level) is not null)我...转载 2018-03-01 15:52:00 · 1658 阅读 · 0 评论 -
Oracle11g使用exp导出表不全问题的原因和解决办法
原因: 在oracle11g有个特征,如果某个表从来没有被使用过,则数据库系统不会给这个表分配段,只在数据字典中保存其结构。这样,从来没有被使用过的表使用exp命令就不会被导出。解决办法:select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is nu...转载 2018-03-14 16:30:59 · 2495 阅读 · 1 评论 -
Oracle中删除某个用户下的所有表
一般的方法:先使用sql查询:SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME;将查询结果复制一下,在sql命令窗口里再执行一次就删除了所有的表。 还有一种更全面的删除:和上一中类似,先使用sql查询:select 'drop table '||table_n...原创 2018-07-19 15:15:01 · 37744 阅读 · 0 评论 -
Oracle创建一个用户只能访问其他用户的表的权限的方法
1、创建用户zhangsan 密码123456create user zhangsan identified by 123456; 2、给用户赋权限(只能登录的权限)grant create session to zhangsan;3、登录要被访问表的用户,执行select 'GRANT SELECT ON '||table_name||' to zhangsan ;' ...原创 2018-08-15 20:31:16 · 10849 阅读 · 0 评论 -
generatorConfig自动生成的beans里对象属性重复出现解决办法
使用Mybatis的自动生成工具generatorConfig.xml生成bean之前一直没有问题,今天突然就发现生成的文件里直接报错了。查看发现属性名称重复。原因是我们的Oracle数据库里有两个不同的用户,但是这两个用户下的表都一样。他们都有dba权限。根据网上介绍,原来是需要修改一下xml里的一个配置:在<table tableName="XXXX" domainObjectN...原创 2018-08-21 16:26:35 · 1874 阅读 · 0 评论 -
微服务框架使用p6spy监控Oracle数据库打印sql信息
1.添加jar。我们是maven项目。<dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>2.1.3</version></dependency>2原创 2018-10-18 15:36:16 · 1508 阅读 · 0 评论 -
Redis设置值的时候如果key或者value为null的情况
redis.set(key, value)1.如果key是nullredis.clients.jedis.exceptions.JedisDataException: value sent to redis cannot be null2.如果value是nullredis.clients.jedis.exceptions.JedisDataException: value sen...原创 2019-04-18 17:00:23 · 29006 阅读 · 3 评论 -
Linux下启动/关闭Oracle
一、Linux下启动Oracle Linux下启动Oracle分为两步: 1)启动监听; 2)启动数据库实例;1.登录服务器,切换到oracle用户,或者以oracle用户登录(有的用户并不叫oracle)[admin@dataserver ~]$ su - oracle密码:[oracle@dataserver ~]$2.打开监听服务[oracle@lo...转载 2019-05-21 11:03:54 · 166 阅读 · 0 评论 -
springboot druid sql injection violation, multi-statement not allow 另一种奇特情况
上网一搜,一堆的解释和解决办法:https://blog.csdn.net/weixin_39522730/article/details/80019862https://blog.csdn.net/goldenfish1919/article/details/50600053发现都很深奥,其实我的错误就是。。SQL写错了。而已。。。。select * from BIZ_E...原创 2019-05-27 10:07:23 · 1674 阅读 · 1 评论 -
ORA-00911: invalid character的解决办法
注意:这里说的是用navicat导出查询数据的时候报错:ORA-00911: invalid character主要原因是这里的sql是不允许带最后的分号的,删掉就好了原创 2016-12-16 10:06:09 · 30939 阅读 · 1 评论