zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    [BZOJ1433][luogu_P2055][ZJOI2009]假期的宿舍
    [BZOJ1280][POJ1149]Emmy卖猪pigs
    [BZOJ1066][luogu_P2472][SCOI2007]蜥蜴
    [nowcoder_Wannafly挑战赛4_F]线路规划
    [SPOJ839]Optimal Marks
    [BZOJ1497][NOI2006]最大获利
    Django_orm脚本
    Function
    Class
    Python核心编程
  • 原文地址:https://www.cnblogs.com/sunxuchu/p/6008661.html
Copyright © 2011-2022 走看看