【数据库】 SQL SERVER 2012 实用新特性 官方链接
一. ALWAYS ON - 灾难恢复
二. 列存储索引 - 比非聚集索引效率高,但有索引表不允许修改数据(插入,更新,删除),用于读写分离的分布式会有很大的性能提高
三. Sequence (序列)
1. 数据库级别, 在同一数据库各表中公用
2. 顾名思义用于创建序列用的,注意与自增列不同,序列可以有重复值,序列可能是不连续的(异常情况)
3. 语法 :
CREATE SEQUENCE SeqId AS int -- 创建 START WITH 5 -- 初始值(必须介于最小值和最大值之间) INCREMENT BY 1 -- 增长量(可以为负数) MINVALUE 1 -- 最小值 MAXVALUE 10 -- 最大值 CYCLE -- 循环,超过最大值后,重新从最小值(增长量为负数时为最大值)开始 CACHE 10 -- 缓存 SELECT NEXT VALUE FOR SeqId -- 获取下一个序列值 SELECT current_value FROM sys.sequences WHERE name = 'SeqId' -- 获取当前的序列值 ALTER SEQUENCE SeqId RESTART WITH 9 INCREMENT BY -1 -- 修改序列 DROP SEQUENCE SeqId -- 删除序列
四. OFFSET , FETCH (新的分页)
1. 性能更高的分页方式
2. 语法:
SELECT * FROM Test ORDER BY id ASC OFFSET @pageIndex * @pageSize ROWS -- 索引 FETCH NEXT @pageSize ROWS ONLY -- 取得数量(从索引后一位开始)
五. EOMONTH (返回指定月份的最后一天)
SELECT EOMONTH('2014-12-1') SELECT EOMONTH('2014-12-1',-2)
六. CHOOSE (从值列表中选出指定位置的值)
SELECT CHOOSE ( 3, '1', '2', '3', '4' ) -- 从1开始不是0
七. IIF (三元运算符)
SELECT IIF (1 > 0,'true','false')
八. FORMAT (格式化)
SELECT FORMAT ( '2014-11-12 10:1:1', 'd', 'zh-cn' )
九. CONCAT (链接多个字符串,忽略 NULL)
SELECT CONCAT ('1',2,NULL,'a')