当前位置:首页 » 编程语言 » sql日期计算案例
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql日期计算案例

发布时间: 2023-03-09 04:01:52

1. sql怎样计算固定天数后的日期

一、DateAdd()方法说明
SQL Server提供了日期函数DateAdd用于获得某日期指定间隔后的日期。
1. 定义和用法
DATEADD() 函数在日期中添加或减去指定的时间间隔。
2. 语法
DATEADD(datepart,number,date)
date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
datepart 参数可以是下列的值:

datepart
缩写

年 yy, yyyy
季度 qq, q
月 mm, m
年中的日 dy, y
日 dd, d
周 wk, ww
星期 dw, w
小时 hh
分钟 mi, n
秒 ss, s
毫秒 ms
微妙 mcs
纳秒 ns
实例
假设我们有下面这个 "Orders" 表:

OrderId
ProctName
OrderDate

'Computer' 2016-12-29 16:25:46.635
现在,我们希望向 "OrderDate" 添加 2 天,这样就可以找到付款日期。
我们使用如下 SELECT 语句:
SELECT OrderId,DATEADD(day,2,OrderDate) AS OrderPayDateFROM Orders
结果:

OrderId
OrderPayDate

2016-12-31 16:25:46.635

二、SQL代码

1

PRINT DateAdd(day, 100, GetDate())

三、运行测试

1

08 31 2017 2:56PM

2. 使用SQL Server日期函数计算某一天是周几

今天是星期几,例子 1:
set language N'English'
select datename(weekday, getdate())Wednesday
今天是星期几,例子 2:
set language N'Simplified Chinese'
select datename(weekday, getdate())星期三
今天是星期几,例子 3:
set datefirst 1
select datepart(weekday, getdate())
3 -- 星期三
注意:这里用到了另外一个 SQL Server 日期函数 datepart()。 set datefirst 1 表示设置一周的第一天为星期一。在老美,他们的一周的第一天习惯为星期天。我们可以通过 @@datefirst 函数得到当前会话的 datefirst 设置值。
select @@datefirst1
你可能有疑问:set language 后面的语言参数是从哪里得到的?可以得到其他国家语言中的星期几吗?当然是可以的了, 请看下面:

3. SQL 数据库如何计算两个日期的简隔时间,以下图为例!

select datediff(day,‘2010-12-1’,‘2010-12-3’)
返回的结果是 2
当然你也可以从表中选择出来的两个的字段,
SELECT datediff(day,date1,date2) FROM date_db.date_table
返回的是 date2-date1 之间的天数
上面是计算的是在数据库date_db中表date_table中时间时段date1与date2之间的相隔天数

4. SQL日期计算

1,
select dateadd(dd,2-datepart(dw,dateadd(wk,周数-1,年份)),dateadd(wk,周数-1,周数)),dateadd(dd,8-datepart(dw,dateadd(wk,周数-1,周数)),dateadd(wk,周数-1,周数))
注意:年份的格式为‘****-01-01’,如你这里的2009年则是‘2009-01-01’
2,
declare @i int
declare @datetime datetime
declare @table table(ID int,date datetime)
set @i=1
set @datetime=年份+月份+01(格式如‘2009-06-01’)
while @datetime < 年份+(月份+1)+01(格式如‘2009-07-01’)
begin
if datepart(weekday,@datetime)=2
begin
insert into @table values(@i,@datetime)
set @i=@i+1
end
set @datetime=dateadd(day,1,@datetime)
end
select * from @table where ID=周数
我这样写应该很容易看,有什么问题再问我,要求加分……

5. 如何用SQL语句进行日期运算

1. select count(*) from TX where 性别='男'
select count(*) from TX where 性别='女'

3. select average(交费金额) from TX group by ...in select
嵌套下 分组下.
不写了.

反正给你提示下吧、对access日期的操作
你可以查下帮助的日期函数 或者msdn csdn

我写个
SELECT year(now())-year([TX].[参加工作时间])
FROM TX;

这个出来的就工作年龄拉. 工龄

其他的你应该会了吧.

6. 如何简单地用一句SQL算一下两个日期间相差的月份数

使用Datedif(日期1,日期2,"m")函数
DATEDIF是EXCEL中的函数,还有以下的使用方法一并教教:
1、简要说明: 返回两个日期之间的年\月\日间隔数

2、基本语法: =DATEDIF(开始日期,结束日期,单位代码)

3、实例1:
题目: 计算出生日期为1973-4-1人的年龄

公式: =DATEDIF("1973-4-1",TODAY(),"Y")

结果: 33

简要说明 当单位代码为"Y"时,计算结果是两个日期间隔的年数.

4、实例2:
题目: 计算日期为1973-4-1和当前日期的间隔月份数.

公式: =DATEDIF("1973-4-1",TODAY(),"M")

结果: 403

简要说明 当单位代码为"M"时,计算结果是两个日期间隔的月份数.

5、实例3:
题目: 计算日期为1973-4-1和当前日期的间隔天数.

公式: =DATEDIF("1973-4-1",TODAY(),"D")

结果: 12273

简要说明 当单位代码为"D"时,计算结果是两个日期间隔的天数.

5、实例4:
题目: 计算日期为1973-4-1和当前日期的不计年数的间隔天数.

公式: =DATEDIF("1973-4-1",TODAY(),"YD")

结果: 220

简要说明 当单位代码为"YD"时,计算结果是两个日期间隔的天数.忽略年数差

5、实例5:
题目: 计算日期为1973-4-1和当前日期的不计月份和年份的间隔天数.

公式: =DATEDIF("1973-4-1",TODAY(),"MD")

结果: 6

简要说明 当单位代码为"MD"时,计算结果是两个日期间隔的天数.忽略年数和月份之差

5、实例6:
题目: 计算日期为1973-4-1和当前日期的不计年份的间隔月份数.

公式: =DATEDIF("1973-4-1",TODAY(),"YM")

结果: 7

简要说明 当单位代码为"YM"时,计算结果是两个日期间隔的月份数.不计相差年数

7. 如何用SQL计算access2007数据表两个日期差

access与SqlServer 之时间与日期及其它SQL语句比较

1、Datediff:

1.1算出日期差:
1.access: datediff('d',fixdate,getdate())
2.sqlserver: datediff(day,fixdate,getdate())
ACCESS实例: select * from table where data=datediff('d',fixdate,getdate())
sqlserver实例: select * from table where data=datediff(day,fixdate,getdate())
1.2算出时间差:
1.access: datediff('h',fixdate,getdate())
2.sqlserver: datediff(Hour,'2004-12-10',getdate())
ACCESS实例: select DATEDIFF('h',HMD,getdate())
sqlserver实例: select datediff(Hour,'2004-12-10',getdate())
1.3算出月份差:
1.access: datediff('m',fixdate,getdate())
2.sqlserver: datediff(Month,'2004-12-10',getdate())
ACCESS实例: select DATEDIFF('m',HMD,getdate())
sqlserver实例: select datediff(Month,'2004-12-10',getdate())

8. SQL 日期比较计算

case when Date>sysdate then substr(date,1,4)-substr(sysdate,1,4)||'年'||substr(date,4,2)-substr(sysdate,4,2)||'月'
when date like '200803' then '0年0月'

改成这样就OK了

case when Date>sysdate then substr(date,1,4)-substr(sysdate,1,4)||'年'||abs(substr(date,4,2)-substr(sysdate,4,2))||'月'
when date like '200803' then '0年0月'

那就再改
case when Date>sysdate and substr(date,1,4)>=substr(sysdate,1,4)
and substr(date,4,2)>substr(sysdate,4,2) then substr(date,1,4)-substr(sysdate,1,4)||'年'||abs(substr(date,4,2)-substr(sysdate,4,2))||'月'
when substr(date,1,4)>substr(sysdate,1,4)
and substr(date,4,2)<substr(sysdate,4,2) then substr(date,1,4)-substr(sysdate,1,4)-1||'年'||(substr(date,4,2)+12-substr(sysdate,4,2))||'月'
when date like '200803%' then '0年0月' end

哥们,你那as test 没错,但是case when 后面一定要有end
将end 加上再看看

9. SQL是计算两个日期相差多少天数的函数

SQL是高级的非过程化编程语言,一般针对数据库进行操作。

定义:datediff(day/month/year,startdate,enddate)

日期函数:(要返回的天数/月数/年数,开始日期,结束日期)

具体形式:
select 1,2,datediff(day,1,2) 天数 from aa