sqlserver 的一些小总结
-
SQL server 数据库还原时报错,先查询进程,后杀死进程;
--查询进程
select * from master..sysprocesses where dbid=db_id( '数据库名称')
--杀死进程,主键为spid
kill 'spid'
-
SQL server 查询日期的差值
--根据年算差值
SELECT DATEDIFF(YEAR,'开始时间','结束时间') FROM '表名'
--根据月算差值
SELECT DATEDIFF(MONTH,'开始时间','结束时间') FROM '表名'
--根据日算差值
SELECT DATEDIFF(DAY,'开始时间','结束时间') FROM '表名'
-
SQL server 添加行号
--根据A0101排序得到的行号
SELECT ROW_NUMBER() OVER(ORDER BY A0101) AS rowNum,* FROM dbo.A01
-
SQL server 修改表字段类型
ALTER TABLE '表名' ALTER COLUMN '列名' NVARCHAR(36)
-
SQL server 添加索引和删除索引
--创建索引
CREATE INDEX selPNum ON dbo.ZZBE_TEACHER_EXAMINNE_R(TEACHERID)
--删除索引
drop index selPNum on ZZBE_TEACHER_EXAMINNE_R ;
-
跨库更新字段
UPDATE a
SET a.dataSql = b.dataSql
FROM 数据库1名称.表名 a
LEFT JOIN 数据库2名称.表名 b ON a.Dmcod = b.dmcod
-
向上、向下、四舍五入取整
--向上取整
SELECT CEILING(13.15)
--向下取整
SELECT FLOOR(54.56)
--四舍五入取整
select round(54.56,0)
SQL Server查询时添加一列连续的自增列
在SQL Server数据库中表信息会用到Identity关键字来设置自增列。但是当有数据被删除的话,自增列就不连续了。如果想查询出这个表的信息,并添加一列连续自增的ID,可用如下查询语句:
select Row_Number() over ( order by getdate() ) as init , * from 表名