sql
阳光下的青柠小镇
这个作者很懒,什么都没留下…
展开
-
sql笔记
1、在SqlServer中给列起别名可以用“=”select 学号= sno from T2、‘(单引号)可能会导致sql注入3、datediff(dd,RDDATE,getdate())==0含义,即返回以日为单位(dd),和当前日期(getdate)相差为0日的RDDATE。这里用这个函数的意义在于,RDDATE包括日期和时间,这里因为有时间,和getdate不能直接比较,所以用datediff转换为范围。...原创 2021-09-24 17:58:46 · 345 阅读 · 0 评论 -
Oracle的排序函数
创建测试表:create table Grades( Sid varchar2(10), Cid varchar2(10), Fraction number(8,3));insert into Grades values('01' , '01' , 80);insert into Grades values('01' , '02' , 90);insert into Grades values('01' , '03' , 99);insert into Grades values('02原创 2021-02-04 18:02:00 · 5757 阅读 · 0 评论 -
oracle误操作update后恢复到之前
1、通过系统视图vsql或者vsql或者vsql或者vsqlarea查找操作时间first_load_time:select * from v$sql where SQL_TEXT LIKE '%update ceshi set name=sex%';2、创建临时表,准备将查询的数据放入表中:create table temp_recover as select * from ceshi as of timestamp to_timestamp('2021-01-25/21:12:16','yyy原创 2021-01-25 22:25:18 · 320 阅读 · 0 评论 -
Oracle中定义变量
关键字:declare1、定义变量:例如:declare i int :=1;其中:=是赋值运算符declare i int :=0; s int :=0;begin loop i:=i+1; s:=s+i; exit when i=100; --这里不是赋值用“=” end loop; dbms_output.put_line(s);end;2、定义数组变量:declare type type_array is varray(3) of int;原创 2020-12-15 17:56:45 · 15587 阅读 · 0 评论 -
Oracle中update更新多列
1、单列更新:update 表名 set 列名=1 where 条件;2、一次更新多列:update student a set (a.id,a.name)= ( select b.id,b.name from boy b where a.id=b.id and a.name!=b.name )where exists ( select 1 from boy d where d.id=a.id and d.name!=a.name );一定要加上后面的exists语句,我这个更原创 2020-12-10 16:18:41 · 7490 阅读 · 0 评论 -
Oracle去重数据
1、要删除的数据量比较小的话,直接查询出重复的数据,然后delete删除:delete t.* from 目标表 t where t.id_card in( select a.id_card from 目标表 a where to_char(a.clockindate,'yyyy-mm-dd') = '2020-09-01' group by a.id_card having count(a.id_card)>1)andt.rowid not in ( select min原创 2020-12-09 18:07:38 · 690 阅读 · 0 评论