数据库
数据库
mysql
redis
Oracle
hughjin
在工作中学习,在学习中成长
展开
-
Mybatis中oracle、mysql、db2、sql server的like模糊查询
select * from t_user where user_name like CONCAT('%',#{search_name},'%') select * from t_user where user_name like '%'||#{search_name}||'%' select * from t_user where user_name转载 2015-05-08 09:16:44 · 659 阅读 · 0 评论 -
MySQL转换Oracle的注意事项
limit--->oracle分页,dateformat--->oracle日期格式化,now()---->获取系统时间,在MySQL里不是关键字到oracle里就是关键字了 mysql oracle order by id desc limit #{offset},#{pageSize} where rownum &am...原创 2015-06-11 10:37:13 · 1067 阅读 · 0 评论 -
SQL 查询横表变竖表
SQL 查询横表变竖表 /*普通行列转换假设有张学生成绩表(tb)如下:Name Subject Result张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94*/-------------------------------------------------------------------------/*想...转载 2015-06-08 11:21:18 · 605 阅读 · 0 评论 -
Oracle SQL的优化
SQL的优化应该从5个方面进行调整: 1.去掉不必要的大型表的全表扫描 2.缓存小型表的全表扫描 3.检验优化索引的使用 4.检验优化的连接技术 5.尽可能减少执行计划的Cost SQL语句: 是对数据库(数据)进行操作的惟一途径; 消耗了70%~90%的数据库...转载 2015-05-21 14:35:31 · 530 阅读 · 0 评论 -
oracle查询常用的知识点之日期,重复字段,groupby,查询大量数据时优化
距离当前时间多长时间SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");String date = sdf.format(DateUtils.addHours(new Date(), -24));String date2 = sdf.format(DateUtils.addMinutes(new Date()...原创 2015-05-20 19:59:21 · 1565 阅读 · 0 评论 -
oracle trunc函数
语法: TRUNC(x[,y]) 功能: 计算截尾到y位小数的x值. y缺省为0,结果变为一个整数值.如果y是一个负数,那么就截尾到小数点左边对应的位上. /**************日期********************/1.select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-182.selec...原创 2015-05-20 17:47:36 · 329 阅读 · 0 评论 -
oracle中的exists 和not exists 用法详解
有两个简单例子,以说明 “exists”和“in”的效率问题 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。 2) select * from T1 where T1.a in (se...转载 2015-05-19 12:02:46 · 417 阅读 · 0 评论 -
oracle SQL分页查询处理
Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。 分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21 其中最内层的查询SELECT * FROM TABLE...转载 2015-05-11 14:53:52 · 482 阅读 · 0 评论 -
查询条件为日期时报’无效的列类型'错误方法解决
查询条件使用到日期的时候报出 实体类里字段都是正确对应的SQL语句形式类似为: select tv.* from account_sel_view tv where 1=1 <if test="regstartDate!=null and regstartDate!=''"> and startDate >= to_date('#{...原创 2015-05-08 12:06:22 · 3387 阅读 · 0 评论 -
ORA-00911 无效字符错误解决方法
今天程序在本地都正常运行,可发布到服务器上时报一个ORA-00911 无效字符的错误 这个错误是由于sql语句有问题,检查sql的时候没有看出什么问题,结果拿到库里面去执行时发现插入语句当中本来是用英文逗号分割的,而我的用的是中文的。 解决方法就不用说了,大家都明白 请记得以后报这种ORA-xxx错误时不要太相信自己写的没问题,一定要将语句拿到库里去执行检查...转载 2015-04-29 09:36:32 · 7689 阅读 · 0 评论 -
oracle中Blob和Clob类型的区别与用法
BLOB和CLOB都是大字段类型,BLOB是按二进制来存储的,而CLOB是可以直接存储文字的。其实两个是可以互换的的,或者可以直接用LOB字段代替这两个。但是为了更好的管理ORACLE数据库,通常像图片、文件、音乐等信息就用BLOB字段来存储,先将文件转为二进制再存储进去。而像文章或者是较长的文字,就用CLOB存储,这样对以后的查询更新存储等操作都提供很大的方便。 O...转载 2015-04-25 14:30:52 · 12546 阅读 · 0 评论 -
Oracle格式化函数 to_char,to_date,to_number
1.格式化函数函数 返回 描述 例子to_char (timestamp, text) text 把 timestamp 转换成 string to_char (sysdate,'HH12:MI:SS') to_char (int, text) text 把 int4/int8 转换成 string to_char (125, '999') to...转载 2015-04-24 13:56:26 · 635 阅读 · 0 评论 -
oracle多行数据合并成一行
表test(id,name) 数据如下:id name1 张三2 李四3 王五要求查询显示形式如下(即把name字段的所有数据拼起来合并到一行显示) AllName张三-李四-王五 select id ,listagg( name, ',' ) within group ( order by id ) as name from TABLE_N...原创 2015-04-22 10:43:41 · 28470 阅读 · 0 评论 -
sys_connect_by_path函数配合group by 进行分组拼接
最近,碰到一个需求将 approval_code值对应的多个FIRST_NAME值通过line_no的asc排序 合并为一个最长的字段 ,对应的表 如下:对应表的sql 语句如下: SELECT DISTINCT t1.FIRST_NAME, t2.approval_code, t2.line_no FROM K2_ACCE...转载 2015-04-22 09:32:06 · 4301 阅读 · 1 评论 -
如何使用Oracle的COALESCE函数和nvl函数
如何使用Oracle的COALESCE函数数据库应用软件很多时候将多重的、相关的实体信息保存在同一个表格中。例如,购买的零件和本地生产的零件都是零件,经理和工人都是员工,尽管多重的实体类型在数据存储上略有不同,但是它们有太多的相同之处,因此通常使用一个表格而不是两个。处理这样的表格通常意味着对每一行进行条件测试来检查哪个实体类型正在被处理,然后返回每种类型的不同结果集。CASE语句可以用来...原创 2015-04-20 11:56:38 · 6609 阅读 · 0 评论 -
oracle的分页查询碰到的一个小问题
订单表,与订单信息表(多个订单信息列有同一个订单id)查出所有订单以及其信息并按照订单分页 select * from(select a. * , (DENSE_RANK() OVER(ORDER BY id DESC)) AS numindex from(SELECT o. * , DENSE_RANK() OVER(ORDER BY o.id DESC) AS rn fr...原创 2015-06-11 14:57:24 · 992 阅读 · 0 评论 -
Oracle的列转行函数:listagg()
这是一个Oracle的列转行函数:LISTAGG() 先看示例代码:Sql代码 with temp as( select 'China' nation ,'Guangzhou' city from dual union all select 'China' nation ,'Shanghai' city from dual union all sel...转载 2015-06-23 14:40:46 · 667 阅读 · 0 评论 -
关联查询之map的延伸用法
关联查询之map的延伸用法原创 2015-06-08 11:47:08 · 698 阅读 · 0 评论 -
将在一列的以逗号隔开的列数据转化为行数据显示的函数
将在一列的以逗号隔开的列数据转化为行数据显示的函数原创 2015-06-08 11:29:37 · 2077 阅读 · 0 评论 -
数据库索引的实现原理
数据库索引的实现原理数据库索引的实现原理转载 2016-02-22 23:08:47 · 1063 阅读 · 0 评论 -
操作数据库时报“无效的列索引”错误
“无效的列索引”其实是个低级的错误,原因无非几个: 1、sql串的?号数目和提供的变量数目不一致:例如:jdbcTemplate.update(sql, new Object[] {newState,oldState});如果sql里面有1个?号,Object[]送了2个,就会报错。 2、sql串里的?号书写不正确英文?和中文?有时难以区分。转载 2017-04-17 14:29:20 · 9919 阅读 · 3 评论 -
Redis学习手册(目录)
redis转载 2017-03-24 15:31:45 · 391 阅读 · 0 评论 -
Java中使用Jedis操作Redis
Java中使用Jedis操作Redis转载 2016-05-05 19:55:02 · 2659 阅读 · 1 评论 -
Redis实际应用场景
Redis实际应用场景转载 2016-05-05 19:49:27 · 485 阅读 · 0 评论 -
oracle中sql语句的优化(转帖)
本文转载之http://www.cnblogs.com/netjxz/archive/2009/09/21/1570991.html一、执行顺序及优化细则1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info (30000条数据)Description_info (30条数据) select * from d...转载 2018-03-30 11:48:34 · 168 阅读 · 0 评论 -
ORACLE百万记录SQL语句优化技巧
ORACLE百万记录SQL语句优化技巧1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然...转载 2017-04-20 17:21:15 · 397 阅读 · 0 评论 -
mybatis连接mysql数据库插入中文乱码
对于mysql数据库的乱码问题,有两中情况:1. mysql数据库编码问题(建库时设定)。2. 连接mysql数据库的url编码设置问题。 对于第一个问题,目前个人发现只能通过重新建库解决,建库的时候,选择UTF-8字符集。我试过修改现有数据库字符集为UFT-8,但是根本不起作用,插入的中文仍然乱码(中文显示成:???)。重建库时选择字符集为UTF-8之后,中文正常显示了。...转载 2015-10-12 14:52:09 · 880 阅读 · 0 评论 -
MySQL 获得当前日期时间(以及时间的转换)
MySQL 获得当前日期时间(以及时间的转换) 1.1 获得当前日期+时间(date + time)函数:now()除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:current_timestamp() current_timestamplocaltime() localtimelocaltimestamp() localt...转载 2015-10-12 11:40:52 · 927 阅读 · 1 评论 -
MySQL 取得两个时间相差的分钟数 及 常用时间函数
MySQL 取得两个时间相差的分钟数 及 常用时间函数-- 取得相隔秒数SELECT UNIX_TIMESTAMP('2012-06-09 00:10:11')-UNIX_TIMESTAMP('2012-06-09 00:09:12')-- 取得相隔分钟数SELECT round((UNIX_TIMESTAMP('2012-06-09 00:10:11')-UNIX_TIMESTAM...转载 2015-09-02 00:22:35 · 28841 阅读 · 2 评论 -
oracle 索引的(创建、简介、技巧、怎样查看)
一、索引简介1、索引相当于目录2、索引是通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率。3、索引的创建要适度,多了会影响增删改的效率,少了会影响查询的效率,索引最好创建在取值分散的列上,避免对同一张表创建过多的索引4、索引的使用对用户来说是透明的,由系统来决定什么时候使用索引。5、Oracle支持多种类型的索引,可以按列的多少、索引值是否唯一和索引数据的组织形式对索...转载 2015-08-24 11:59:45 · 549 阅读 · 0 评论 -
oracle递归查询实例
Oracle递归查询创建表 建表语句:CREATE TABLE SC_DISTRICT( ID NUMBER(10) NOT NULL, PARENT_ID NUMBER(10), NAME VARCHAR2(255 BYTE) NOT NULL);ALTER TABLE SC_D...转载 2015-07-15 10:49:43 · 1296 阅读 · 0 评论 -
oracle to_char函数将number转成string
很多数据转换处理操作时,会遇到将0.007007040000转换成0.70%的需求,我们使用Oracle 的SQL 函数 to_char可以实现这种转换。 这个函数用来将DATE或NUMBER数据类型转换成可显示的字符串,格式是to_char(number_type, format_mask)。 格式'999.99',9表示对应的某一个指定位数的值,如果是值是0则忽略不显示,如果指定...转载 2015-04-20 11:50:51 · 26135 阅读 · 0 评论