sql server高手请进 怎么获得距当前时间“两天”的时间

sql server高手请进 怎么获得距当前时间“两天”的时间,第1张

select

dateadd(day,-2,getdate())

--两天

select

dateadd(day,2,getdate())

--两天后

或者:

select

dateadd(hour,-48,getdate())

select

dateadd(hour,48,getdate())

sql

server获取当前时间的函数是getdate()

,没有gettime函数

从sqlserver数据库中提取日期应该使用,并把年月日分别截取出来应该使用

数据库提供的时间函数。

1:使用year,month,day用来提取年月日

如:select year(getdate()),month(getdate()),day(getdate())

2:使用DATEPART 获取年月日

如:select DATEPART('year',getdate()),DATEPART('month',getdate()),DATEPART('day',getdate())

----------------------------------------------------------------------------

如果字段是varchar类型的话,可以先将字段转换为日期类型。

使用类型转换函数convert或者cast

如:cast('2015-07-14' as datetime)

SQLSERVER的GETDATE()函数返回的是一个datetime类型的值。是以运行该SQL语句的计算机标准内部格式返回当前系统日期和时间,如果需要得到固定格式的日期/时间字符串,可以将结果进行格式化。你可以试一下以下语句获得精确到秒的固定格式的日期/时间字符串,SELECT CONVERT(varchar(19),GETDATE(),21)

呵呵,用datetime就可以了

人是活的,并不是死的,数据库中存有日期,但是不代表我在界面上就显示日期,这一步完全可以在程序中实现的,而且很简单

生活对一个人来说,有很多条路可以走,程序也是一样的。

drop function dbof_get_workdays

go

CREATE FUNCTION dbof_get_workdays(@bdate DATETIME, @edate DATETIME)

  RETURNS INTEGER

AS BEGIN

  DECLARE @workdays INTEGER

  IF  @bdate > @edate

    RETURN -1

  SELECT @workdays =

         --如果终止日期与起始日期在同一个星期内,只需要计算有几天即可

         CASE WHEN DATEPART(wk, @edate-1)-DATEPART(wk,@bdate) = 0 THEN

                   CASE WHEN DATEPART(dw, @bdate) > 5 THEN 0

                        WHEN DATEPART(dw, @edate-1) > 5 THEN 6 - DATEPART(dw, @bdate)

                        ELSE DATEPART(dw, @edate-1) - DATEPART(dw, @bdate) + 1 END

              --如果终止日期与起始日期在不同的星期内

              --首先计算出除前后两个星期外完整的星期数  5

              ELSE (DATEDIFF(dd,@bdate,@edate)

                          - (8-DATEPART(dw, @bdate))

                          - DATEPART(dw, @edate-1)) / 7  5

                   --再加上第一个星期里的工作日数

                 + CASE WHEN DATEPART(dw, @bdate) < 6 THEN 6 - DATEPART(dw, @bdate)

                        ELSE 0 END

                   --加上末一个星期里的工作日数

                 + CASE WHEN DATEPART(dw, @edate-1)>5 THEN 5 ELSE DATEPART(dw, @edate-1) END

         END 

  RETURN @workdays 

END

go

select dbof_get_workdays(dateadd(day,-21,getdate()),getdate())

以上就是关于sql server高手请进 怎么获得距当前时间“两天”的时间全部的内容,包括:sql server高手请进 怎么获得距当前时间“两天”的时间、sqlserver中如何取日期的年月、SQLServer getdate获取的时间为什么是1899/12/30 0:00:00等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9760360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存