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号桥
,枫香大桥')