• sql server日期相关函数


    选择昨天:

    DECLARE @Yesterday date

    SET @Yesterday = DATEADD(DAY,-1,GETDATE())

     输出:

    2020-05-02

    把date转成数字:

    -- 获取时间
    SET @Yesterday = DATEADD(DAY,-1,GETDATE())
    SET @DateID = CAST(CAST(@Yesterday AS FLOAT) AS INT)

    GetDate()函数

    SELECT GETDATE() AS CurrentDateTime
    结果:

    CurrentDateTime
    2008-12-29 16:25:46.635
    注释:上面的时间部分精确到毫秒。

    datepart函数:

    Datepart()返回代表指定日期的指定日期部分的整数

    语法:Datepart(datepart,date)  返回类型:int

    SELECT DATEPART(yyyy,create_at) AS OrderYear,
    DATEPART(mm,create_at) AS OrderMonth,
    DATEPART(dd,create_at) AS OrderDay
    FROM xxx
    WHERE id=10

    SQL server从datetime提取年月日

    需要用到convert函数:

    定义和用法

    CONVERT() 函数是把日期转换为新数据类型的通用函数。

    CONVERT() 函数可以用不同的格式显示日期/时间数据。

    语法

    CONVERT(data_type(length),data_to_be_converted,style)

    data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。

    可以使用的 style 值:

    120 或者 20 yyyy-mm-dd hh:mi:ss(24h)

    我们只想要提取yyyy--mm-dd,用:

    select convert(varchar(10),create_at,120) from xxx  where id=10 (长度为10截取前10位)

    想要带上时分秒:

    select convert(varchar,create_at,120) from xxx  where id=10

    2020-04-29 16:46:43

    只想要年月:

    --按月
    select convert(nvarchar(7),GETDATE(),120)

     2020-04

    利用cursor修改数据


    DECLARE @beforeday2 varchar(10)
    DECLARE @beforeday1 varchar(10)
    select @beforeday2 =convert(varchar(10) , DATEADD(DAY,-2,getdate()) ,120) -- 2天qian
    select @beforeday1 =convert(varchar(10) , DATEADD(DAY,-1,getdate()) ,120) -- 2天qian


    DECLARE @curr_userid int
    declare @curr_score decimal(18, 2)

    DECLARE curr_cursor  CURSOR FOR
    select userid, sum(xx) from xxx  where convert(varchar(10) , create_at ,120) between @beforeday2 and @beforeday1 GROUP BY userid

    OPEN curr_cursor
    FETCH NEXT FROM curr_cursor INTO @curr_userid,@curr_score 
    while ( @@FETCH_STATUS=0)
    BEGIN
    update ORDER set xx= @curr_score where UserID = @curr_userid - 

    FETCH NEXT FROM curr_cursor INTO @curr_userid,@curr_score 

    END

  • 相关阅读:
    ReactNative: 使用分组列表组件SectionList组件
    ReactNative: 使用刷新组件RefreshControl组件
    ReactNative: 使用开关组件Switch组件
    ReactNative: 使用滑块组件Slider组件
    ReactNative: 使用分段组件SegmentedControlIOS组件
    ReactNative: 使用进度条组件ProgressViewIOS组件
    Swift语言实战晋级
    《Swift开发指南》
    《数据结构与算法JavaScript描述》
    《ASP.NET MVC 5 框架揭秘》
  • 原文地址:https://www.cnblogs.com/youxin/p/12822611.html
Copyright © 2020-2023  润新知