Sqlserver 语法总结

修改列类型

alter table PRO_Element_b alter column matname varchar(1024)

更改一个表中的数据到另外一个表中

update a set a.name = b.name from a, b where a.id=b.id

SELECT INTO FROM语句

      语句形式为:SELECT vale1, value2 into Table2 from Table1

      要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中

INSERT INTO SELECT语句

      语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

      要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。

用openrowset连接远程SQL或插入数据

--如果只是临时访问,可以直接用openrowset

--查询示例

select * from openrowset('SQLOLEDB', 'sql服务器名'; '用户名'; '密码', 数据库名.dbo.表名)

--导入示例

select * into 表 from openrowset('SQLOLEDB' ,'sql服务器名';'用户名';'密码' ,数据库名.dbo.表名)

一个表中更新到另一个表:

1. 写法轻松,更新效率高:
update table1 
set field1=table2.field1,
field2=table2.field2
from table2
where table1.id=table2.id

update wxjlb set iBmid=y.iBmid from ygzlb y where cCzy=y.cYgbh

2. 常规方式,种写法相当于一个 Left join, 以外面的where为更新条数,如果不加where就是所有记录

update table1
set field1=(select top 1 field1 from table2 where table2.id=table1.id)
where table1.id in (condition)

 
 update TTTT set HH = cast(round(HH,2) as money)
原文地址:https://www.cnblogs.com/passerlee/p/5063759.html