SQL Server 2012新增的内置函数尝试
QL Server2012新增了一些内置函数来让开发人员使用起来更加容易。可以减少代码量下面我们将SQL Server新增的函数分为几类分别探讨一下。字符串类函数SQL Server2012中提供了两个和字符串相关的函数分别为Concat和Format.Concat如其名称所示用于连接两个字符串.但比过去的增强是可以免去类型转换的烦恼而直接将多个值连接为一个String值进行返回如图1所示.图1.Concat示例Concat的MSDN链接为:CONCAT (Transact-SQL) | Microsoft Learn而Format是将指定字符串按照格式和地区进行格式化。如图2所示。图2.Format实例这个具体的本地化特性可以参考National Language Support (NLS) API ReferenceFormat的MSDN链接FORMAT (Transact-SQL) | Microsoft Learn逻辑类函数SQL Server2012新增了两个逻辑类函数分别为CHOOSE和IIF。这两个函数都可以看作是CASE…WHEN的翻版函数。先从CHOOSE来看CHOOSE按照索引号返回列表中的数据如图3所示。图3.Choose示例CHOOSE在MSDN中的链接为CHOOSE (Transact-SQL) | Microsoft Learn与Choose等效的CASE表达式如图4表示。图4.CHOOSE和CASE表达式而IIF函数就是类C语言中”XXXX?结果1结果2”这样的按照布尔运算结果返回对应内容的T-SQL版本应用起来非常简单如图5所示。图5.IIF表达式IIF在MSDN的链接为:IIF (Transact-SQL) | Microsoft Learn日期类函数SQL Server2012新增了一些时间和日期格式都是一些小语法糖的感觉。下面分别为新增的函数和对应的MSDN地址。由于这些函数比较雷同所以简单的挑一个说:DATEFROMPARTS(DATEFROMPARTS (Transact-SQL) | Microsoft Learn)DATETIMEFROMPARTS(DATETIMEFROMPARTS (Transact-SQL) | Microsoft Learn)DATETIME2FROMPARTS (http://msdn.microsoft.com/en-us/library/hh213312(vSQL.110).aspx)DATETIMEOFFSETFROMPARTS(http://msdn.microsoft.com/en-us/library/hh231077(vSQL.110).aspx)TIMEFROMPARTS(http://msdn.microsoft.com/en-us/library/hh213398(vSQL.110).aspx)DATEFROMPARTS函数是根据给定的年月日给出Date类型的日期,如图6所示。