sqlserver 的一些小总结

  1. SQL server 数据库还原时报错,先查询进程,后杀死进程;

    --查询进程

    select * from master..sysprocesses where dbid=db_id( '数据库名称')

    --杀死进程,主键为spid

    kill 'spid'

  2. 2

    SQL server 查询日期的差值

    --根据年算差值

    SELECT DATEDIFF(YEAR,'开始时间','结束时间') FROM '表名'

    --根据月算差值

    SELECT DATEDIFF(MONTH,'开始时间','结束时间') FROM '表名'

    --根据日算差值

    SELECT DATEDIFF(DAY,'开始时间','结束时间') FROM '表名'

  3. 3

    SQL server 添加行号

    --根据A0101排序得到的行号

    SELECT ROW_NUMBER() OVER(ORDER BY A0101) AS rowNum,* FROM dbo.A01

  4. 4

    SQL server 修改表字段类型

    ALTER TABLE '表名' ALTER COLUMN '列名' NVARCHAR(36)

  5. 5

    SQL server 添加索引和删除索引

    --创建索引

    CREATE INDEX selPNum ON dbo.ZZBE_TEACHER_EXAMINNE_R(TEACHERID)

    --删除索引

    drop index selPNum on ZZBE_TEACHER_EXAMINNE_R ;

  6. 6

    跨库更新字段

    UPDATE  a

    SET     a.dataSql = b.dataSql

    FROM    数据库1名称.表名 a

            LEFT JOIN 数据库2名称.表名 b ON a.Dmcod = b.dmcod

  7. 7

    向上、向下、四舍五入取整

    --向上取整

    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 表名

     
原文地址:https://www.cnblogs.com/kelly1314/p/11463317.html