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