Sql进阶语法

插入语句:

--通常写法
insert into (列1,列2...) values(值1,值2...)
--错误示范
insert into TB2 Select * From TB1
--错误信息
--仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表中的标识列指定显式值
--其他正确示范(这里必须要指定列名)
insert into TB2(NAME) Select NAME From TB1
--获取插入语句最新的自增id
insert into table(Name) values()
-- ->这里是直接输出出来要是想要赋值的话就要 select @变量名=@identity 这样赋值
select @@identity;

 语法:

--转换类型 type(int,varchar()...)
CAST(value as type) 
--value如果是null的话 转化为0或者其他
ISNULL(value,' 0')
--order by 从大到小  null在最后面
order by  case when Col is null then 1 else 0 end asc,Col asc 
--生成序列
Row_Number() over (order by getdate()) --根据查询出来的数据行数
--SQL中 EXCEPT、INTERSECT用法
EXCEPT --返回两个结果集的差(即从左查询中返回右查询没有找到的所有非重复值)。
INTERSECT --返回 两个结果集的交集(即两个查询都返回的所有非重复值)。
union --返回两个结果集的并集。
--访问其他服务器上的server [linkedServerName]是服务器地址
Select * from OpenQuery[linkedServerName],'Select * from table1')

  

 函数:

  DATEADD ( datepart , number, date )

。net工程师
原文地址:https://www.cnblogs.com/yuners/p/12794012.html