【数据库】 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')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?