sql 随笔

1、根据参数值是有、无,来决定是否需要查询出数据。obd:有、无。

DataTable _OBD(string obd )

{

  string sql = "select * from obd where  '" + obd + "' = '有' ";

  var dt = DbhelperSQL.Query(sql).Table[0].Copy();

  dt.TableName ="OBD";

  return dt;

}

 

2、可以一次查询出两个表的信息。

select * from CFG_Station,Config

 

3、任何值+NULL=NULL,所以要用ISNULL(I.ELShH,I.BJBH)判断替换,要不相加后值为NULL。

 

4、sql中sign(x)什么意思

符号函数。若x>0,则返回1;若x=0,则返回0;若x<0,则返回-1。

 

5、如果select 外面没有再包一层select *  ,那么最后面的where rn  between 1 and 15 会报错,因为rn不是表里面的列,把他们作为表的列,在套一层select *,就可以where 里面查询 rn

select * from (select a.hphm, row_number() over(order by b.bjbh desc) as rn   from JJDD b  left join info  a on  a.bjbh=b.bjbh where  b.bjrq>='2021-05-11' and b.bjrq<= '2021-10-19'  ) as c where rn  between 1 and 15

 

6、导入数据前执行语句(打开自增主键插入,有自增主键也可以在主键中插入数据):
SET IDENTITY_INSERT [dbo].[表名] ON

导入数据后执行语句(关闭自增主键插入,有自增主键不可以在主键中插入数据):
SET IDENTITY_INSERT [dbo].[表名] OFF

 

7、对照两表相同字段S,将一个表中字段P的内容添加到另一表的相同字段中,如何操作?

update A set A.字段P=B.字段P from B where A.字段S=B.字段S and !empty(B.字段P)

posted @ 2019-08-26 16:45  net-sky  阅读(157)  评论(0编辑  收藏  举报