SQL Server 2012 新特性
--Concat示例
Select CONCAT('SQL Server',2012,null,'RTM') --Format实例
DECLARE @d DATETIME = GETDATE();
SELECT FORMAT( @d, 'd', 'en-US' ) AS Result
SELECT FORMAT( @d, 'd', 'zh-CN' ) AS Result --Choose实例
SELECT CHOOSE(0,'CareySon','Jack','Tony','Peter')
SELECT CHOOSE(2,'CareySon','Jack','Tony','Peter')
SELECT CHOOSE(3,'CareySon','Jack','Tony','Peter')
SELECT CHOOSE(5,'CareySon','Jack','Tony','Peter')
--Choose
select CHOOSE(ManagerID,'CareySon','Jack','Tony','Peter')
FROM [AdventureWorks].[HumanResources].[Employee]
--传统的CASE...WHEN
SELECT ManagerID=case when ManagerID=1 then 'CareySon'
when ManagerID=2 then 'Jack'
when ManagerID=3 then 'Tony'
when ManagerID=4 then 'Peter'
else null
end
FROM [AdventureWorks].[HumanResources].[Employee] --IIF示例
select IIF(1>2,'结果1','结果2') --DATEFROMPARTS示例
SELECT DATEFROMPARTS ( 2012, 3, 12 ) AS Result; --EOMONTH示例
declare @date datetime
set @date='2012-3-12'
SELECT EOMONTH ( @date ) AS '本月最后一天'
SELECT EOMONTH ( @date, 1 ) AS '下个月最后一天'
SELECT EOMONTH ( @date, -1 ) AS '上个月最后一天' --PARSE和Cast示例
SELECT TRY_PARSE('Monday, 13 December 2010' AS datetime2 USING 'en-US') AS Result
SELECT Cast('Monday, 13 December 2010' AS datetime2) AS Result --Convert和Try_Convert示例
--转换不成功,为NULL
select TRY_CONVERT(float, 'test')
--转换不成功报错
select CONVERT(float, 'test')
--永远不可能转换成功的,报错
SELECT TRY_CONVERT(xml, 4) AS Result; --TRY_PARSE和PARSE
SELECT TRY_PARSE('错误值' AS datetime2 USING 'en-US') AS Result
SELECT PARSE('错误值' AS datetime2 USING 'en-US') AS Result --Throw语句尝试
--1.更简洁优雅的代码
--2.可以正确的标识出出错的行数,对于大量T-SQL来说,这点可以节省不少时间 BEGIN TRAN
BEGIN TRY
select 1/0;
COMMIT
END TRY
BEGIN CATCH
ROLLBACK;
--RAISERROR('自定义错误消息',12,1)
--THROW
THROW 50001,'自定义错误消息',1;
--PRINT ERROR_NUMBER+ERROR_SEVERITY()+ERROR_STATE()+ERROR_PROCEDURE()+ERROR_LINE()+ERROR_MESSAGE()
END CATCH
SQL Server 2012 新特性的更多相关文章
- SQL Server 2012新特性(1)T-SQL操作FileTable目录实例
在SQL Server 2008提供FileStream,以借助Windows系统本身的API来强化SQL Server对于非结构化数据的支持后,SQL Server 2012更是推出了像Contai ...
- Sql Server 2012新特性 Online添加非空栏位.
我们都知道,Sql Server在一个数据量巨大的表中添加一个非空栏位是比较费心的,缺乏经验的DBA或是开发人员甚至可能鲁莽地直接添加导致阻塞相应业务,甚至可能因为资源欠缺造成实例的全局问题.当然这都 ...
- SQL Server 2012 新特性:新增和修改函数
转换函数 1.PARSE Parse是把字符串类型转化为想要的类型,看看和convert和cast的区别 SELECT PARSE ('2.111111' AS f ...
- SQL Server 2012 新特性:FileTable
FileTable是基于FILESTREAM的一个特性.有以下一些功能: 一行表示一个文件或者目录. 每行包含以下信息: file_Stream流数据,stream_id标示符(GUID). 用户表示 ...
- SQL Server 2012 新特性:服务角色管理
数据库角色管理,已经可以使用alter role,create role和drop role. 2012增加了几个ddl语句,可以操作服务级别的角色管理, CREATE SERVER ROLE 用 ...
- SQL Server 2012 新特性:其他
安装期间的设置 为了强化角色分离,不自动在 sysadmin 固定服务器角色中设置 BUILTIN\administrators 和 Local System (NT AUTHORITY\SYST ...
- SQL Server 2012 新特性:包含数据库访问数据库引擎
简单的说就是可以让包含用户访问其他数据库,那么来看看如何配置,并且验证一下: USE test CREATE USER up1 WITH PASSWORD = 'zhuzhu' SELECT * ...
- 小心SQL SERVER 2014新特性——基数评估引起一些性能问题
在前阵子写的一篇博文"SQL SERVER 2014 下IF EXITS 居然引起执行计划变更的案例分享"里介绍了数据库从SQL SERVER 2005升级到 SQL SERVER ...
- SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer
SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer Data Explorer是即将发布的SQL Server 2014里的一个新特性,借助这个特性讲使企 ...
随机推荐
- Java集合之HashMap
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的).此实现提供所 ...
- effective java 学习心得
目的 记录一下最主要学习心得,不然凭我这种辣鸡记忆力分分钟就忘记白看了... 用静态工厂方法代替构造器的最主要好处 1.不必每次都创建新的对象 Boolean.valueOf Long.valueOf ...
- 强有力的Linux历史命令 你还记得几个
列出所有出现到的命令:(所有一下信息都可以通过man history得到,而且还更多) history:列出历史中执行过的命令(-c清除所有的命令历史) !N:执行编号为N的历史命令 !-N:执行倒数 ...
- vmware workstation安装 Mosrosoft Runtime DLL安装程序未能完成安装
不要点确定.开始菜单运行输入'%temp%',在弹出的窗体中找到一个文件名中含'{132E3257-14F1-411A-BC6C-0CA32D3A9BC6}~setup'(不一定一样,反正就是第一行的 ...
- mySql 远程连接(is not allowed to connect to this MySQL server)
如果你想连接你的mysql的时候发生这个错误: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL serve ...
- HTML 5 胜出:XHTML2 宣告夭折
自HTML 5 和XHTML 2规范草稿公布以来,一直存在很大的争议.HTML 5是由包括Google.Mirosoft.Mozilla.Opera.Apple在内多家浏览器厂商共同起草的下一代web ...
- 基于ZK构建统一配置中心的方案和实践
背景: 近期使用Zk实现了一个简单的配置管理的小东西,在此开源出来,有兴趣的希望提出您的宝贵意见.如果恰巧您也使用或者接触过类似的东西, 也希望您可以分享下您觉得现在这个项目可以优化和改进的地方. 项 ...
- iOS 打开本地 其他应用程序(URL Types)
iOS 打开本地其他应用程序(URL Types) /*前言废话:Xcode是神奇的,是我所见到的编译器中最为神奇的,如:它可以同时运行两个甚至更多Project到我们模拟器上,可以同时使用一个模拟器 ...
- iOS动态部署之RSA加密传输Patch补丁
概要:这一篇博客主要说明下iOS客户端动态部署方案中,patch(补丁)是如何比较安全的加载到客户端中. 在整个过程中,需要使用RSA来加密(你可以选择其它的非对称加密算法),MD5来做校验(同样,你 ...
- vbs连接sql server及写文件操作
此段代码是连接SQL SERVER的 代码内connMMSQL的参数要根据实际情况传入 Function connMMSQL(ip,user,pwd,database,strsql) Dim conn ...