转换函数

     1.PARSE
     Parse是把字符串类型转化为想要的类型,看看和convert和cast的区别
     
 
SELECT PARSE ('2.111111' AS float ),CAST ('2.111111111111' AS FLOAT)
---------------------- ----------------------
2.111111               2.111111111111
 
 row (s ) affected )
 
SELECT PARSE ('19010101' AS DATETIME ),CAST ('19010101' AS DATETIME)
 
Msg 9819, Line 63
Error converting string value '19010101' into data type datetime using culture ''.
 
SELECT PARSE ('1901-01-01' AS DATETIME ),CAST ('1901-01-01' AS DATETIME)
 
----------------------- -----------------------
1901:00.000
 
 row (s ) affected )     
 
新功能转日期的时候格式一定要注意,不然转不过去,没有cast好用。
 
     2.TRY_CONVERT
     TRY_CONVERT,如果转化成功返回值,转化不成功返回null,比 convert转化不成功报错,编程更加简单和方便些。
     比如:
         
   SELECT   CASE WHEN TRY_CONVERT(float, 'test') IS NULL 
    THEN 'Cast failed'
    ELSE 'Cast succeeded'
END AS Result;
GO
     
     3.TRY_PASSE
     和上面的类似,只是不成功返回null。
SELECT TRY_PARSE ('19010101' AS DATETIME ),CAST ('19010101' AS DATETIME)
 
----------------------- -----------------------
  :00.000     
          
日期和时间函数
     1.DATEFROMPARTS
     通过传入年月日参数拼出一个日期,以前使用字符串拼接然后再转化成日期
SELECT

),CAST ('20101231' AS date)

---------- ----------
2010
     
     2.DATETIME2FROMPARTS
     和上面类似,但是多了时分秒和精度。
   );
GO
--------------------------- --------------------------- ---------------------------
2011    :44.500
     3.DATATIMEFROMPARTS     
     和上面基本没有区别,只是没有了精度
 ) ;
-----------------------
2010:59.000
     
     4.DATATIMEOFFSETFROMPARTS
     相比上面多了时区设置。返回datatimeoffset类型
     
     5.EOMONTH
     计算月的最后一天,有了这个就很方便,在编写月报或者什么的时候。
DECLARE @date DATETIME = GETDATE ();
  ) AS 'Last Month';
GO
This Month Next Month Last Month
---------- ---------- ----------
2016
     6.SMALLDATATIMEFROMPARTS
     SMALLDATATIME类型在sql server中精度到分钟位置。和上面的函数一样的效果。
 
逻辑函数
     1.CHOOSE
     返回列表中的索引值。如果不能传入参数,或者不能解析逗号分隔字符串,所实话没啥用有点鸡肋
, 'Manager', 'Director' , 'Developer', 'Tester' )
---------
Developer
     
     2.IIF
     根据表达式返回值,返回某个值。应该是case when 的简化版
     
  )
-----------
1
 
字符串函数
     1.CONCAT
     用处和mysql的concat一样用来连接字符串。
 , '/', '25' )
------------------------------
Happy Birthday 11
     
     2.FORMAT
     用来返回指定区域的的文本,比如时间。
DECLARE @d DATETIME = '10/01/2011' ;
SELECT FORMAT ( @d , 'D', 'en-US' ) AS 'US English Result'
US English Result
---------------------------
Saturday, October 1 , 2011
 

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 新特性

    --Concat示例 ,null,'RTM') --Format实例 DECLARE @d DATETIME = GETDATE(); SELECT FORMAT( @d, 'd', 'en-US' ...

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

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

  4. SQL Server 2012 新特性:FileTable

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

  5. SQL Server 2012 新特性:其他

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

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

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

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

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

  8. [SQL Server 2014] SQL Server 2014新特性探秘

    SQL Server 2014新特性探秘(1)-内存数据库   简介 SQL Server 2014提供了众多激动人心的新功能,但其中我想最让人期待的特性之一就要算内存数据库了.去年我再西雅图参加SQ ...

  9. SQL Server 2014 新特性——内存数据库

    SQL Server 2014 新特性——内存数据库 目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 ...

随机推荐

  1. 如何在高并发分布式系统中生成全局唯一Id

    月整理出来,有兴趣的园友可以关注下我的博客. 分享原由,最近公司用到,并且在找最合适的方案,希望大家多参与讨论和提出新方案.我和我的小伙伴们也讨论了这个主题,我受益匪浅啊…… 博文示例: 1.     ...

  2. C++虚函数和函数指针一起使用

    C++虚函数和函数指针一起使用,写起来有点麻烦. 下面贴出一份示例代码,可作参考.(需要支持C++11编译) #include <stdio.h> #include <list> ...

  3. Android,适合Restful网络请求封装

    借助volley.Gson类库. 优点 网络请求集中处理,返回值直接为预期的对象,不需要手动反序列,提高效率,使用时建立好model类即可. 使用效果 DataProess.Request(true, ...

  4. JavaScript高级程序设计--对象,数组(栈方法,队列方法,重排序方法,迭代方法)

    1.使用对象字面量定义对象 var person={}; 使用这种方式创建对象时,实际上不会调用Object构造函数. 开发人员更喜欢对象字面量的语法.   2.有时候需要传递大量可选参数的情形时,一 ...

  5. JavaScript权威设计--JavaScript对象(简要学习笔记八)

    1.属性的特性 一个属性包含一个名字和4个特性.4个特性:值,可写性,可枚举性,可配置性   2.对象的三个属性 一:原型属性 要想检测一个对象是否是另一个对象的原型,使用isPrototypeOf( ...

  6. Jquery 选择器注意的问题--记录(五)

    1. $("p.intro")-> 所有 class="intro" 的 <p> 元素 $("div#intro .head&quo ...

  7. ffmpeg用法及如何使用fluent-ffmpeg

    http://ffmpeg.org/ 官网 ffmpeg(命令行工具) 是一个快速的音视频转换工具. 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an o ...

  8. spring帝国-开篇

    spring简介: spring是一个开源框架,spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Dev ...

  9. ASP.NET Core 中文文档 第四章 MVC(3.6.1 )Tag Helpers 介绍

    原文:Introduction to Tag Helpers 作者:Rick Anderson 翻译:刘浩杨 校对:高嵩(Jack) 什么是 Tag Helpers? Tag Helpers 提供了什 ...

  10. 如果你也会C#,那不妨了解下F#(2):数值运算和流程控制语法

    本文链接:http://www.cnblogs.com/hjklin/p/fs-for-cs-dev-2.html 一些废话 一门语言火不火,与语言本身并没太大关系,主要看语言的推广. 推广得好,用的 ...