--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 新特性的更多相关文章

  1. SQL Server 2012新特性(1)T-SQL操作FileTable目录实例

    在SQL Server 2008提供FileStream,以借助Windows系统本身的API来强化SQL Server对于非结构化数据的支持后,SQL Server 2012更是推出了像Contai ...

  2. Sql Server 2012新特性 Online添加非空栏位.

    我们都知道,Sql Server在一个数据量巨大的表中添加一个非空栏位是比较费心的,缺乏经验的DBA或是开发人员甚至可能鲁莽地直接添加导致阻塞相应业务,甚至可能因为资源欠缺造成实例的全局问题.当然这都 ...

  3. SQL Server 2012 新特性:新增和修改函数

    转换函数      1.PARSE      Parse是把字符串类型转化为想要的类型,看看和convert和cast的区别         SELECT PARSE ('2.111111' AS f ...

  4. SQL Server 2012 新特性:FileTable

    FileTable是基于FILESTREAM的一个特性.有以下一些功能: 一行表示一个文件或者目录. 每行包含以下信息: file_Stream流数据,stream_id标示符(GUID). 用户表示 ...

  5. SQL Server 2012 新特性:服务角色管理

    数据库角色管理,已经可以使用alter role,create role和drop role. 2012增加了几个ddl语句,可以操作服务级别的角色管理,   CREATE SERVER ROLE 用 ...

  6. SQL Server 2012 新特性:其他

    安装期间的设置   为了强化角色分离,不自动在 sysadmin 固定服务器角色中设置 BUILTIN\administrators 和 Local System (NT AUTHORITY\SYST ...

  7. SQL Server 2012 新特性:包含数据库访问数据库引擎

    简单的说就是可以让包含用户访问其他数据库,那么来看看如何配置,并且验证一下:   USE test CREATE USER up1 WITH PASSWORD = 'zhuzhu' SELECT *  ...

  8. 小心SQL SERVER 2014新特性——基数评估引起一些性能问题

    在前阵子写的一篇博文"SQL SERVER 2014 下IF EXITS 居然引起执行计划变更的案例分享"里介绍了数据库从SQL SERVER 2005升级到 SQL SERVER ...

  9. SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer

    SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer Data Explorer是即将发布的SQL Server 2014里的一个新特性,借助这个特性讲使企 ...

随机推荐

  1. FORM

    一 .新增的input输入属性 1.email类型 在表单提交E-mail地址时,无效的输入会生成很多无效数据,对后期的数据检索造成一定的影响.所以在表单提交之前,需要对输入的E-mail地址进行有效 ...

  2. nuget国内镜像的解决办法

    不求人,在阿里云上安一个nuget镜像站,这样就能愉快编程了. 主要是利用nginx 的反向代理+缓存功能+响应文本的替换 proxy_cache_path /data/nuget-cache lev ...

  3. OpenFOAM&Gmsh&CFD圆柱绕流(两个圆柱)

    问题: 圆柱绕流问题,模拟仿真有两个圆柱.一个源的流体变化情况. 解决步骤: 1.使用Gmsh画出网格,并保存cylindertwo.msh 2.以Cavity为基础创建新的Case:Cylinder ...

  4. 1.openGL 初探

    GLEW, GLFW和GLM介绍 现在你有了工程,就让我们开始介绍下工程所用到的开源库和为啥需要这些. The OpenGL Extension Wrangler (GLEW)是用来访问OpenGL ...

  5. Quick Cocos 旋转子弹的实现中我学到的

    self 在lua中相当于java中的this lua中的任何变量在没有赋值前, 都可以看做是nil  lua变量有3种,成员变量: self.变量名 = 局部变量: local 变量名 = 全局变量 ...

  6. Hadoop基础思维导图

  7. word20161220

    S/MIME, Secure Multipurpose Internet Mail Extensions / 安全多用途网际邮件扩展协议 SACL, system access control lis ...

  8. Markdown 语法简要介绍

    =================MarkDown================= Markdown 是一种方便记忆.书写的纯文本标记语言,用户可以使用这些标记符号以最小的输入代价生成极富表现力的文 ...

  9. struts2使用配置文件中使用json-default的问题

    使用Struts2实现异步验证数据: 与Struts2相关的jar包如下: freemarker-2.3.13.jar ognl-2.6.11.jar struts2-core-2.1.6.jar s ...

  10. 让IE8支持placeholder

    $(function(){ if(!placeholderSupport()){ // 判断浏览器是否支持 placeholder $('[placeholder]').focus(function( ...