zoukankan      html  css  js  c++  java
  • TSQL日期函数

    -------------------------日期时间类型---------------------------------
    
    ---T-SQL YEAR,MONTH,DAY函数均一INT 数据类型的格式返回特定日期的年度信息.
    SELECT 'YEAR NUMBER' = YEAR(GETDATE())
    SELECT 'YEAR NUMBER' = MONTH(GETDATE())
    SELECT 'YEAR NUMBER' = DAY(GETDATE())
    
    
    --获取日期时间值部分DATEPART
    DATEPART(DATEPART,DATE数据)
    --DATEPART : 特定的要返回的数据的格式代码
    --date数据: 一个可以解析为TIME ,DATE ,SMALLDATETIME,DATETIME DATETIME2的值的表达式、列表达式、用户定义的变量或字符串文字
    
    
    SELECT DATEPART(YEAR,GETDATE()) AS '年份1'
    SELECT DATEPART(YYYY,GETDATE()) AS '年份2'
    SELECT DATEPART(YY,GETDATE()) AS '年份3'
    
    -- 日期加法DATEADD
    -- DATEADD函数将某个日期加上一个特定的时间间隔值后返回 DATETIME数据类型的值
    --1语法
    DATEADD(DATEPART,NUMBER,DATE数据)
    
    select top 100 indate 订单日期,DATEADD(DAY,14,InDate) '相加后的日期' , * from dbo.SOMaster with(nolock)
    order by InDate
    
    /*
    订单日期                相加后的日期
    2010-09-23 00:11:59.000    2010-10-07 00:11:59.000
    2010-09-23 00:12:29.000    2010-10-07 00:12:29.000
    2010-09-23 00:12:57.000    2010-10-07 00:12:57.000
    2010-09-23 00:21:21.000    2010-10-07 00:21:21.000
    2010-09-23 00:23:57.000    2010-10-07 00:23:57.000
    2010-09-23 00:27:06.000    2010-10-07 00:27:06.000
    2010-09-23 00:32:11.000    2010-10-07 00:32:11.000
    2010-09-23 00:47:11.000    2010-10-07 00:47:11.000
    2010-09-23 00:47:33.000    2010-10-07 00:47:33.000
    2010-09-23 00:48:10.000    2010-10-07 00:48:10.000
    */
    
    --日期减法
    
    
    select top 10 indate 订单日期,DATEDIFF(DAY,InDate,'2010-10-10 00:00:00.000') '相减后的日期' 
    from dbo.SOMaster with(nolock)
    order by InDate
    /*
    订单日期               相减后的日期
    2010-09-23 00:11:59.000        17
    2010-09-23 00:12:29.000        17
    2010-09-23 00:12:57.000        17
    2010-09-23 00:21:21.000        17
    2010-09-23 00:23:57.000        17
    2010-09-23 00:27:06.000        17
    2010-09-23 00:32:11.000        17
    2010-09-23 00:47:11.000        17
    2010-09-23 00:47:33.000        17
    2010-09-23 00:48:10.000        17
    */
      
    SELECT SYSDATETIME()   --获取系统时间
    union all
    select SYSDATETIMEOFFSET()  --获取当前日期和时间
    
    
    --判断是否为日期数据isdate(expression)  --若表达式为有效的日期数据:1 ,否则: 0
     ----select ISDATE(OrderId) from ShippingOrderExtend WITH(NOLOCK)  where OrderId=1019506
    declare @aa int
    select isdate(@aa)
    
    /*************************************************************************/
    
    
    --获取字符的ASCII码ASCII 
    --ASCII码是对字符的标准编码。要获取字符的ASCII码就可以通过调用ASCII函数来实现
    
    SET NOCOUNT ON 
    --获取ASCII码起始位置临时变量
    DECLARE @beginposition int
    
    --定义字符串变量,存储要获取ASCII码的字符串
    DECLARE @TempString varchar(100)
    
    --初始化变量
    SET @beginposition = 1
    SET @TempString = 'dancewithwave@163.com'
    --对字符串中的每个字符循环执行ASCII函数
    WHILE @beginposition < = DATALENGTH(@TempString)
        BEGIN 
        SELECT ASCII ( SUBSTRING ( @TempString , @beginposition , 1 ) ),
        CHAR(  ASCII ( SUBSTRING ( @TempString , @beginposition , 1 ) ))
        
        SET @beginposition = @beginposition + 1
        END
    SET NOCOUNT OFF
    GO
        

    --摘自<T-SQL管理与开发实例精粹>

  • 相关阅读:
    【NOIP 2003】 加分二叉树
    【POJ 1655】 Balancing Act
    【HDU 3613】Best Reward
    【POJ 3461】 Oulipo
    【POJ 2752】 Seek the Name, Seek the Fame
    【POJ 1961】 Period
    【POJ 2406】 Power Strings
    BZOJ3028 食物(生成函数)
    BZOJ5372 PKUSC2018神仙的游戏(NTT)
    BZOJ4836 二元运算(分治FFT)
  • 原文地址:https://www.cnblogs.com/zerocc/p/2536781.html
Copyright © 2011-2022 走看看