SQL语句学习笔记

 
  
 1 ---20161107,循环执行sql语句
 2 
 3 declare @i int  --定义循环条件变量
 4 declare @event_id int
 5 set @event_id=6
 6 
 7 --20170310
 8 --查询结果为变量赋值
 9 declare @bi int  
10 declare @ei int  
11 select @bi=MIN(id0),@ei=MAX(id0) from MMS_T_D_MEMatStatistics
12 where event_id=@event_id
13 select @bi,@ei
14 
15 set @i=@bi
16 while @i<=@ei --设置循环条件
17 begin
18 --执行语句
19 update MMS_T_D_MEMatStatistics
20 
21 
22 --rand():返回0-1的随机数;
23 --ceil(X):返回 大于等于 X的最小整数;
24 --floor(x)与 ceil()相反,产生小于等于指定值(x)的最大整数
25 
26 ---获取1-1000之间的随机数
27 set pro_cost=CEILING(rand()*1000),worker_cost=CEILING(rand()*1000),
28 price=CEILING(rand()*1000),plan_value=CEILING(rand()*1000)  
29 where event_id=@event_id and id0=@i
30 
31 set @i=@i+1
32 end

 

 1 DECLARE @Result INT
 2  DECLARE @Upper INT
 3  DECLARE @Lower INT
 4   
 5  SET @Lower = 1      --包括左边的数
 6   
 7  SET @Upper = 11     --不包括右边的数
 8   
 9                     --[left,right)
10  
11 SELECT @Result = ROUND(((@Upper - @Lower -1) * RAND() + @Lower), 0)
12 SELECT @Result

 

 

 

1 --20161108 条件判断语句case when。。。
2 select b.task_name,b.scheme as schemeName,d.code_name as exa_flag,
3 (case when e.dis_deal_type in (2,3) then m.code_name else f.code_name end) as status

 

1 ---20161112 用一个表的字段值去更新另一个表的字段
2 update MMS_T_D_MPMaiRstInfo
3 set dis_pic_path = PMS_T_D_AssetDisease.origin_image
4 FROM MMS_T_D_MPMaiRstInfo, PMS_T_D_AssetDisease
5 WHERE MMS_T_D_MPMaiRstInfo.disease_id = dbo.PMS_T_D_AssetDisease.id0
6 and MMS_T_D_MPMaiRstInfo.mai_stage=0 AND MMS_T_D_MPMaiRstInfo.dis_pic_path = '' 

 

1 --20161220 为查询结果添加自增序号列
2 select row_number()OVER(ORDER BY id0 DESC) as orderId,* from 
3 ZY_T_S_ReportTemplate

 

--20170310 sql 里面if语句的用法:

 

---20170823 实体表数据复制到临时表
                            select * into #tempDomain from system_group_t_domain_v_0
                            ---20170823 临时表数据插入到实体表
                            insert into system_group_t_domain_v_0
                            select *  from #tempDomain

 

---20171116 查询单表表结构信息
select * from information_schema.columns where table_name='PMS_T_D_RoadAssetDisease'
and COLUMN_NAME='degree_type'

 

---20171205 查询数据库表的行数量
SELECT a.name,b.rows FROM sysobjects a  
INNER JOIN sysindexes b ON a.id=b.id   
WHERE b.indid IN(0,1) AND a.Type='u'  
ORDER BY b.rows  desc

 

----20180315根据in的内容顺序排序
select * from Bridge
where bridge_name

in ('笔架桥'
,'大坝上石拱桥'
,'枫香2号桥'
,'枫香大桥'
)

ORDER BY CHARINDEX(bridge_name,'笔架桥
,大坝上石拱桥
,枫香2号桥
,枫香大桥')

 

转载于:https://www.cnblogs.com/lyd2016/p/6039768.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值