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

sql日期运算

发布时间: 2022-06-07 13:03:01

A. 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 加上再看看

B. 用SQL语句计算出给定日期是星期几

1、首先可以直接用datepart函数,第一个参数设置成weekday就可以了,如下图所示。

C. sql时间运算的问题,

时间运算用datediff函数,不过纯粹就只有时间是得到不到正确结果的,你的00:00谁知道是前天的还是现在的?必须是一个完整的时间,比如:2008-8-8 00:00:00(后面的时分秒可以根据需要,但前面的日期一定不能省了)

比如有2个时间字段A和B,现在要计算A和B的时间差:
SELECT datediff('n',B,C) from tb --datediff里的第一个参数是计算2个时间的时间差的时间间隔
参数的设定值如下:

设置 描述
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒

如果你要计算的是具体的时间差,可以先计算出差多少分钟,然后在把获得的分钟除以60,得到的整数就是小时,余数就是分钟了.

D. SQL请教大家一个日期的加减法

ql语句处理时间——日期加减天数如下:

select date_add(now(), interval 1 day); -- 加1天

select date_add(now(), interval 1 hour); -- 加1小时

select date_add(now(), interval 1 minute); -- 加1分钟

select date_add(now(), interval 1 second); -- 加1秒

select date_add(now(), interval 1 microsecond);-- 加1毫秒

select date_add(now(), interval 1 week);-- 加1周

select date_add(now(), interval 1 month);-- 加1月

select date_add(now(), interval 1 quarter);-- 加1季

select date_add(now(), interval 1 year);-- 加1年

(4)sql日期运算扩展阅读

SQL中常用日期函数

1、GETDATE() 返回当前系统日期;

SELECT GETDATE()

2、DATEADD(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果返回;

--常数为正

SELECT DATEADD(YY,1,GETDATE())

--等同于

SELECT DATEADD(YEAR,1,GETDATE())

--常数为负数

SELECT DATEADD(YY,-2,GETDATE())

--常数为小数(直接舍去小数部分)

SELECT DATEADD(YY,2.4,GETDATE())

SELECT DATEADD(YY,2.5,GETDATE())

SELECT DATEADD(YY,2.6,GETDATE())

E. 在Sql语句中怎样计算出两个日期的差值

sql语句中计算两个日期的差值用datediff函数。

工具:sqlserver 2008 R2

步骤:

1、计算2009-06-23与2009-06-17之间的天数。语句如下:

selectdatediff(d,'2009-06-17','2009-06-23')

2、查询结果:

F. sql~日期格式如何相减

1、简单介绍一下datediff()函数。

DATEDIFF()函数返回两个日期之间的天数。

语法:

DATEDIFF(datepart,startdate,enddate)

startdate和enddate参数是合法的日期表达式。

datepart参数可以是下列的值:

G. SQL Server各种日期计算方法

本周的星期一

这里我是用周(wk)的时间间隔来计算哪一天是本周的星期一。

SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

一年的第一天

现在用年(yy)的时间间隔来显示这一年的第一天。

SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

季度的第一天

假如你要计算这个季度的第一天,这个例子告诉你该如何做。

SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)

H. SQL日期计算

SELECT
convert(varchar(10),DATEADD(wk,
DATEDIFF(wk,0,dateadd(wk,24,'2009-01-01')),
0),120)
起始日期,
convert(varchar(10),DATEADD(wk,
DATEDIFF(wk,0,dateadd(wk,24,'2009-01-01')),
6),120)
结束日期
上面求第25个周起止时间,求第20周把24改成19即可。
***************************************
补充解释一下:
1:dateadd(week,24,'2009-01-01')是在'2009-01-01'的基础上加上24周,算上'2009-01-01'所在的周正好是25周,但是这个加法是以7天为基数加的,换句话说'2009-01-01'是周几,加完之后也是周几。
2:DATEDIFF(wk,0,dateadd(wk,24,'2009-01-01'))
【0代表1900年1月1日00:00】,这个是求第1步算出的日期和【1900年1月1日00:00】年的星期差。
3:DATEADD(wk,
DATEDIFF(wk,0,dateadd(wk,24,'2009-01-01')),
0)
是求出第一步求出的日期所在周的周一的日期。
4:DATEADD(wk,
DATEDIFF(wk,0,dateadd(wk,24,'2009-01-01')),
6)
是求出第一步求出的日期所在周的周日的日期。
5:convert(varchar(10),xxxx,120)是求出第3或者4步中时间的
年份+月份
**************************************
---
以上,希望对你有所帮助。

I. 如何用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;

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

其他的你应该会了吧.