SQL语句 操作集合

 //保留小数位数

select cast(列名as 数值类型,如decimal,numeric等 (长度,小数点后位数)) 列名 from 表名

例:select cast(Sid as decimal(18,2)) Sid from User

//case 用法

单条件:select case xxxxx when null then '0' else '1' end from xxxx

多条件:  select case xxxx when '' then '0' when null then '0' else xxxx end from xxxx

 

//convert 用法
CONVERT(data_type(length),data_to_be_converted,style)
如:CONVERT(VARCHAR(19), 列名)
或:CONVERT(VARCHAR(19),GETDATE()) //获取日期后转为字串
或: CONVERT(VARCHAR(19), select count(*) from aaa) //将一个查询结果如count 转为字串

 

//SQL子查询及字串拼接

select f.*,
 (convert(varchar(30), (select count(*) from Report s where s.ReportCode=f.ReportCode and s.IsDefineReport='0' and s.IsFinish='1' )) || '/' ||
 convert(varchar(30), (select count(*) from Report s where s.ReportCode=f.ReportCode and s.IsDefineReport='0' ))) FinishStatus,
 from Report f
//本例子是查询一个表 这个表中包括定义表和子厂的表 总厂定义表和子厂表id相同 完成状态不同 本例子是在这个表中查询完成度 就是两个count拼接为类似 3/5

 

结果图:

 

//MS SQL 随机抽取
select top 2 * from xxx order by newid() 

 

SQL语句添加列:

alter table 表名 add 列名 类型 默认值 是否为空...

 

SQL语句删除列:

alter table 表名 drop 列名

 

SQL语句向表一插入表二的数据:

insert into tttt1 (col1, col2, col3, col4, Id) select * from tttt2
--后面可加where条件,列的个数及名称需统一

 

SQL语句将表二的数据更新为表一的数据:

update tttt1 set tttt1.Id=isnull(b.Id,'') from tttt2 b where tttt1.Id=b.Id and tttt1.code=b.code
--表一和表二的列名可不一致,表一不能加别名
 

 

 

 

 

 

 

你可能感兴趣的:(sql,F#)