1.关于日期条件作为where子句时需要注意的点。
select 字段 from 表 where 时间字段 > date‘2012-12-31‘ + 0.99999 and 时间字段 < date‘2013-02-01‘;
上面这个时间判断的时间段就是2013年1月1日零点到2013年1月31日二十三点五十九分五十九秒,前方加上的0.99999
就是屏蔽掉由时分秒造成的查询不准确问题。
2.在oracle中查询条件如果采用like的方式那么匹配条件中如果是‘%*‘以百分号开始则不会执行索引。
3.在where子句中使用is null和is not null作为条件的不会执行索引。不建议使用。可以用nvl函数进行代替。
4.查找重复数据:
SELECT 字段 FROM 表a WHERE (字段a,字段b) IN (SELECT 字段a,字段b FROM 表a GROUP BY 字段a,字段b HAVING(COUNT(1)) > 1);
以上这种形式可以把表a中所有字段a和字段b重复的数据查询出来。
5.删除重复数据:
DELETE FROM 表a 别名a WHERE 别名a.rowid > (SELECT MIN(别名b.rowid) FROM 表a 别名b WHERE 别名a.重复字段a = 别名b.重复字段a);
上述语句可以删除其重复的数据保留一条数据,因为用到了rowid所以效率还是很高的。
这里需要注意的是删除的表和后面where子句中的表是一张表只不过是别名为了区分开所以不一样,后面的重复字段可以是一个也可以是多个。
6.数据库闪回
有些时候因为我们的不当操作执行了update或者delete语句,这个时候我们发现本来数据时不应该被修改的,如果这样闪回机制给我们提供了
一个很好的帮助,不过首先需要确定你所操作的oracle服务是否开启了闪回机制,执行如下语句:
select flashback_on from V$database;
如果结果为:
FLASHBACK_ON
------------
NO
恭喜你,可以使用闪回的功能来拯救你的数据,下面语句:
select * from 表名 as of timestamp (systimestamp - interval ‘15‘ minute);
获取这张表15分钟之前的状态。
有用的sql整理(不定时更新)
时间: 2024-10-25 06:34:53
有用的sql整理(不定时更新)的相关文章
数论大整理(不定时更新)(虽然是懵着听下来的)x
一.斐波那契数列: 1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 int main() 5 { 6 double a,n,ans; 7 cin>>n; 8 //n--; //(第一项是0时) 9 a=sqrt(5); 10 ans =(a/5) * (pow( (1+a)/2 ,n) - pow((1-a)/2 ,n)); 11 cout<<ans; 12 return 0;
Mysql命令详细汇总[未完][不定时更新]
先从最最最基础的开始 一.登录/退出 登录:mysql -h hostname -u username -p 退出:exit; 二.导入/导出[注意:这是在shell下直接敲命令,不用也不能登录mysql] 导入:mysql -hostname -u username -p < filepath/filename.sql 导出:mysqldump -hostname -u username -p > filepath/filename.sql 同时也可以登录mysql使用source命令 导入
PySide2(PyQt5) 实现tab切换及方法详解(不定时更新)
更多分享:www.catbron.cn tab的实现用到的是QTabWidget控件,以下仅做简单的演示 源码: import sys from PySide2 import QtCore, QtGui, QtWidgets class MainWindow(): def __init__(self): self.window = QtWidgets.QMainWindow() self.initSize(0.6) self.mainWidget = QtWidgets.QWidget() se
一些SQL整理
统计SQL执行时间和次数的语句: SELECT top 50 qt.text AS SQL_text , SUM(qs.total_worker_time) AS total_cpu_time, SUM(qs.execution_count) AS total_execution_count, SUM(qs.total_worker_time)/SUM(qs.execution_count) AS avg_cpu_time, COUNT(*) AS number_of_statements FR
解读SQL Server 2014可更新列存储索引——存储机制
概述 SQL Server 2014被号称是微软数据库的一个革命性版本,其性能的提升的幅度是有史以来之最. 可更新的列存储索引作为SQL Server 2014的一个关键功能之一,在提升数据库的查询性能方面贡献非常突出.据微软统计,在面向OLAP查询统计类系统中,相比其他SQL传统版本的数据库,报表查询的性能最大可提升上十倍. 下面我们从存储的角度来了解下SQL Server 2014的可更新列存储索引. 什么是列存储 微软为了提升SQL Server的查询性能,更好的支持大数据分析,早在SQL
iOS 属性修饰符记录 --不定时更新
重新审视了一下OC在属性修饰符,特意记录一下来.以后不定时更新 > retain:只有在非ARC下才会有效,所有如果在ARC下使用了retain修饰也白搭 如以下的data属性用retain修饰: #import <UIKit/UIKit.h> @interface MyView : UIView @property(nonatomic, retain) NSMUtableArray* data; @end 在对应的setter方法中,会以如下代码实现: if (_data != new
Android学习笔记(不定时更新)
在很久之前,我就想写写博客,不过本人比较懒,这几天心血来潮,决定开写博客,因为学习,实习,面试关系,不会定时更新,以下是我所学的知识,总结分享一下,如有不正确,希望各位轻喷. QQ:545662362.欢迎交流,因为第一次写博客,格式什么的也不是特别好.好了,学习目录如下 1.Android 开发环境搭建 2.Android 应用程序 3.Android 常用基本控件 4.Android 常用高级控件 5.Android 消息与广播 6.Service 后台服务 7.Android 数据存储与服
即日起,博客将不定时更新技术内容
Hello,everybody!这是我新开的博客,以后我会将我收藏的资源以及修改之后的资源发布到这里,希望对大家有所帮助. 同时,本人的个人贴吧也开通了,欢迎有志之士加入我这个大家庭,帮助更多开发者,共同学习,共同进步. 贴吧链接 吕昌辉吧 即日起,博客将不定时更新技术内容,布布扣,bubuko.com
cocos2d-x 学习资源整理(持续更新...)
生活像一把无情刻刀,改变了我们模样,曾经我以为会亘古不变的东西,突然在一瞬间失去了信念... 如果你改变不了生活中患得患失的心情,那就试着让自己变得强大一点,因为能做到不以物喜不以己悲都是建立在强大的基础上面的. so,加油吧,少年. ================================================================ 一不小心又废话了. 学习cocos2d-x也有一段时间了,直到现在仍然认为自己是个新手(呵呵,说的好像我不是新手一样.) 现在把自己这