' second as TSec from dual -- 计算 60秒 前的时间 ' minute as TMin from dual -- 计算 10分 前的时间 ' hour as UTCTime from dual -- 计算 8小时 前的时间 / as UTCTime from dual -- 计算 8小时 前的时间 select sysdate - interval '8 2' day to hour as UTCTime from dual -- 计算 8天2小时 前的时间 sel…
--SQL查询优化 尽量避免使用or,not,distinct运算符,简化连接条件 /*Or运算符*/ use db_business go select * from 仓库 where 城市='北京' or 城市='青岛' --包含or运算符 sql将不使用索引,影响速度 /*In运算符*/ use db_business go select * from 仓库 where 城市 in('北京' ,'青岛') --有效提高运算效率 /*not运算符*/ use db_business go s…
--在sql语句中 begin...end 用来设定一个程序块 相关于c#中的{} declare @yz real,@w int --声明变量 set @w=120 --为变量赋值 if @w<=100 --if条件语句 begin --Begin程序块 set @yz=@w*0.12 --为变量赋值 end else begin set @yz=100*0.12+(@w-100)*0.05 end /*输出邮件的重量和邮费*/ print '邮件的重量是:'+cast(@w as varch…
--482, ORACLE / SQL SERVER --订购数量超过平均值的书籍 WITH Orders_Book AS ( SELECT Book_Name, SUM(Qty) Book_Qty FROM Orders GROUP BY Book_Name ) SELECT * FROM Orders_Book WHERE Book_Qty > ( SELECT AVG(Book_Qty) FROM Orders_Book ) --递归 产生连续数列1至10000 WITH Tally(N)…
declare db_cursor4 scroll cursor for select * from 供应商 --声明游标 open db_cursor4 --打开游标 fetch first from db_cursor4 --读取游标中的第一条数据记录 fetch next from db_cursor4 --读取游标中的下一条数据记录 fetch last from db_cursor4 --读取游标中的最后一条数据记录 fetch prior from db_cursor4 --读取游标…
--创建和执行事后触发器 --更新仓库备份表中记录时自动创建数据表且插入三条记录 create trigger db_trigger1 on 仓库备份 for update as begin if Exists(select * from sys.sysobjects where id=OBJECT_ID('db_tabletriuser')) drop table db_tabletriuser else begin create table db_tabletriuser( userid i…
--217, SQL SERVER SELECT Cust_Name , MAX(CASE WHEN Order_Date ='2009-08-01' THEN AR END) "2009-08-01" , MAX(CASE WHEN Order_Date ='2009-08-02' THEN AR END) "2009-08-02" , MAX(CASE WHEN Order_Date ='2009-08-03' THEN AR END) "2009-0…
--不带参数的存储过程 CREATE procedure proc_sql1 as begin declare @i int set @i=0 while @i<26 begin print char(ascii('a')+@i)+'的ASCII码是:'+cast(ascii('a')+@i as varchar(50)) set @i=@i+1 end end execute proc_sql1 --数据查询不带参数的储存过程 create procedure proc_sql4 as beg…
--把wh1仓库号中姓名含有"平"字的职工工资在原来的基础上加288 update 职工备份 set 工资=工资+288 where 仓库号='wh1' and 姓名 like '%平%' --把"北京"地区的职工的工资减少100,再增加1倍 update 职工备份 set 工资=(工资-100)*2 where 仓库号 in (select 仓库号 from 仓库备份 where 城市='北京') --把面积小于"北京"地区最小面积的仓库面积增…
--新建表create table table1 (id varchar(300) primary key,name varchar(200) not null);--插入数据insert into table1 (id,name) values('aa','bb');insert into table1 (id,name) values('cc','dd');--更新数据update table1 set id='bb' where id='cc';--删除数据delete from tabl…