當前位置:首頁 » 編程語言 » 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;

這個出來的就工作年齡拉. 工齡

其他的你應該會了吧.